trace: allow trace events with string arguments
String arguments are useful for producing human-readable traces without post-processing (e.g. stderr backend). Although the simple backend cannot handles strings all others can. Strings should be allowed and the simple backend can be extended to support them. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
This commit is contained in:
parent
27cdad67a1
commit
8f6421179a
@ -70,11 +70,6 @@ Trace events should use types as follows:
|
||||
cannot include all user-defined struct declarations and it is therefore
|
||||
necessary to use void * for pointers to structs.
|
||||
|
||||
Pointers (including char *) cannot be dereferenced easily (or at all) in
|
||||
some trace backends. If pointers are used, ensure they are meaningful by
|
||||
themselves and do not assume the data they point to will be traced. Do
|
||||
not pass in string arguments.
|
||||
|
||||
* For everything else, use primitive scalar types (char, int, long) with the
|
||||
appropriate signedness.
|
||||
|
||||
@ -182,6 +177,9 @@ source tree. It may not be as powerful as platform-specific or third-party
|
||||
trace backends but it is portable. This is the recommended trace backend
|
||||
unless you have specific needs for more advanced backends.
|
||||
|
||||
The "simple" backend currently does not capture string arguments, it simply
|
||||
records the char* pointer value instead of the string that is pointed to.
|
||||
|
||||
==== Monitor commands ====
|
||||
|
||||
* info trace
|
||||
|
Loading…
Reference in New Issue
Block a user