.. | .. |
---|
194 | 194 | -------------- |
---|
195 | 195 | Each probe argument follows below syntax. |
---|
196 | 196 | |
---|
197 | | - [NAME=]LOCALVAR|$retval|%REG|@SYMBOL[:TYPE] |
---|
| 197 | + [NAME=]LOCALVAR|$retval|%REG|@SYMBOL[:TYPE][@user] |
---|
198 | 198 | |
---|
199 | 199 | 'NAME' specifies the name of this argument (optional). You can use the name of local variable, local data structure member (e.g. var->field, var.field2), local array with fixed index (e.g. array[1], var->array[0], var->pointer[2]), or kprobe-tracer argument format (e.g. $retval, %ax, etc). Note that the name of this argument will be set as the last member name if you specify a local data structure member (e.g. field2 for 'var->field1.field2'.) |
---|
200 | 200 | '$vars' and '$params' special arguments are also available for NAME, '$vars' is expanded to the local variables (including function parameters) which can access at given probe point. '$params' is expanded to only the function parameters. |
---|
201 | 201 | 'TYPE' casts the type of this argument (optional). If omitted, perf probe automatically set the type based on debuginfo (*). Currently, basic types (u8/u16/u32/u64/s8/s16/s32/s64), hexadecimal integers (x/x8/x16/x32/x64), signedness casting (u/s), "string" and bitfield are supported. (see TYPES for detail) |
---|
202 | 202 | On x86 systems %REG is always the short form of the register: for example %AX. %RAX or %EAX is not valid. |
---|
| 203 | +"@user" is a special attribute which means the LOCALVAR will be treated as a user-space memory. This is only valid for kprobe event. |
---|
203 | 204 | |
---|
204 | 205 | TYPES |
---|
205 | 206 | ----- |
---|