X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=common%2Ftrace_writer.hpp;h=a75d5ac69ef188e49e408f71eb6c2336fcd54649;hb=1626ca22c45f889b570d37cad0ad99411b91afac;hp=5f18f74e1b257dc80ba70c7c157a3d2ad7f54fe1;hpb=d559f02eff13e695d0005251dea3e920b20ded65;p=apitrace diff --git a/common/trace_writer.hpp b/common/trace_writer.hpp index 5f18f74..a75d5ac 100644 --- a/common/trace_writer.hpp +++ b/common/trace_writer.hpp @@ -36,7 +36,7 @@ #include #include "trace_model.hpp" - +#include "trace_backtrace.hpp" namespace trace { class File; @@ -50,6 +50,7 @@ namespace trace { std::vector structs; std::vector enums; std::vector bitmasks; + std::vector frames; public: Writer(); @@ -70,6 +71,10 @@ namespace trace { void beginReturn(void); inline void endReturn(void) {} + void beginBacktrace(unsigned num_frames); + void writeStackFrame(const RawStackFrame *frame); + inline void endBacktrace(void) {} + void beginArray(size_t length); inline void endArray(void) {} @@ -79,6 +84,9 @@ namespace trace { void beginStruct(const StructSig *sig); inline void endStruct(void) {} + void beginRepr(void); + inline void endRepr(void) {} + void writeBool(bool value); void writeSInt(signed long long value); void writeUInt(unsigned long long value);