X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=common%2Ftrace_format.hpp;h=4952ee3310a08af827d3f7ffa69506db5eccbe58;hb=6f80233c1a7251df2edb1b9f93cee37f4fc152f7;hp=4e1d9a9911d265bac1a9ef4462c174e21637704c;hpb=a9d7f8edfea904f8dc84f2ad472cd542437935f7;p=apitrace diff --git a/common/trace_format.hpp b/common/trace_format.hpp index 4e1d9a9..4952ee3 100644 --- a/common/trace_format.hpp +++ b/common/trace_format.hpp @@ -69,8 +69,11 @@ namespace trace { * * - version 4: * - call enter events include thread ID + * + * - version 5: + * - new call detail flag CALL_BACKTRACE */ -#define TRACE_VERSION 4 +#define TRACE_VERSION 5 /* @@ -85,6 +88,8 @@ namespace trace { * * call_detail = ARG index value * | RET value + * | THREAD int + * | BACKTRACE int frame* * | END * * value = NULL @@ -96,11 +101,22 @@ namespace trace { * | DOUBLE double * | STRING string * | BLOB string - * | ENUM enum_sig + * | ENUM enum_sig value * | BITMASK bitmask_sig value * | ARRAY length value+ * | STRUCT struct_sig value+ * | OPAQUE int + * | REPR value value + * + * frame = id frame_detail+ + * | id + * + * frame_detail = MODULE string + * | FUNCTION string + * | FILENAME string + * | LINENUMBER uint + * | OFFSET uint + * | END * * call_sig = id name arg_name* * | id @@ -126,6 +142,7 @@ enum CallDetail { CALL_ARG, CALL_RET, CALL_THREAD, + CALL_BACKTRACE, }; enum Type { @@ -143,6 +160,16 @@ enum Type { TYPE_ARRAY, TYPE_STRUCT, TYPE_OPAQUE, + TYPE_REPR, +}; + +enum BacktraceDetail { + BACKTRACE_END = 0, + BACKTRACE_MODULE, + BACKTRACE_FUNCTION, + BACKTRACE_FILENAME, + BACKTRACE_LINENUMBER, + BACKTRACE_OFFSET, };