summaryrefslogtreecommitdiff
path: root/common/trace_format.hpp
AgeCommit message (Collapse)AuthorFilesLines
2013-05-06Use ids for frames.José Fonseca1-1/+2
So that we don't need to send the same frames over and over again.
2013-05-05Cleanup the backtrace representation.José Fonseca1-10/+20
Use strings and unsigned, instead of string values and unsigned values.
2013-05-04Backtrace via call detailEugene Velesevich1-1/+15
Hello, Changes from v3: Instead of writing the backtrace as Array, the backtrace is now recorded as a list of stack frame nodes with optional stack frame details (the scheme is below). This patch implements backtrace recording during tracing, and adds support in 'apitrace dump' and QApitrace. Backtrace is obtained via platform-specific functions (and, internally, in platform-specific format). Then it is parsed to produce an std::vector of stack frame structs: { char *module, *function, *filename, *linenumber, *offset } (some fields may be NULL) and is written into the trace file in the Enter call section as a call detail: BACKTRACE FRAME MODULE "module" FUNCTION "Foo" FILENAME "foo.cpp" LINENUMBER "1234" OFFSET "0xSDF" FRAME FUNCTION "Boo" // no filename line info available for this frame END_BACKTRACE A platform-dependent mechanism is provided to specify a set of traced calls for which backtraces will be recorded. It is possible to specify either function names, or prefixes of names by appending a '*' (e.g. "glUniform*"). On Android the backtrace is retrieved from Dalvik via libdvm functions imported at runtime. Function set is specified in /data/apitrace.fnames, one per line. On Linux the backtrace is retrieved via glibc backtrace(), and will not always yield filename:linenumber information. Function set is specified via APITRACE_BT_FUNCTIONS environment variable. On other platforms, obtaining a backtrace is not implemented by this patch.
2012-04-27Preserve both D3D9 shader byte code, and disassembly.José Fonseca1-1/+3
2011-12-22First stab at tracing thread IDs.José Fonseca1-2/+5
2011-12-11Trace enum signatures as a whole.José Fonseca1-36/+46
2011-10-27Lower case namespaces.José Fonseca1-2/+2
2011-10-14Bring some of the virtual-memory-regionsJosé Fonseca1-1/+30
Tracking user memory by querying virtual memory subsystem is not reboust enough for master, but works in many cases, yielding much smaller and efficient traces. This change brings the ability of retracing traces generated by the virtual-memory-regions branch. It also brings more efficient tracing of glFlushMappedBufferRange calls. The trace file version is bumped as a result.
2011-09-21Put all common code in a subdirectory.José Fonseca1-0/+109