[Lldb-commits] [PATCH] D85705: Add a "Trace" plug-in to LLDB to add process trace support in stages.

walter erquinigo via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 26 18:01:18 PDT 2020


wallace updated this revision to Diff 288145.
wallace added a comment.

- As error messaging is important when parsing, I create a new set of functions in StructuredData for parsing that return an llvm::Expected.

This allowed me to move the helper functions for parsing from the Trace file to StructuredData, so that in the future other contributors can
use those methods when needed.

- I modified the schema to allow for the "traceFile" entry at several levels.
- "systemPath" was also added for the module entry
- I didn't use the PlaceholderObject yet, as Greg suggested. That might involve a few other changes and I need to see if that class is sufficient for decoding intel-pt traces. However, as soon as I'm working on the decoding part, I'll move to PlaceholderObject, as it will be nice to avoid failing hard if a module is not available.
- I simplified the code here and there as well.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D85705/new/

https://reviews.llvm.org/D85705

Files:
  lldb/include/lldb/Core/PluginManager.h
  lldb/include/lldb/Target/Trace.h
  lldb/include/lldb/Utility/StructuredData.h
  lldb/include/lldb/lldb-forward.h
  lldb/include/lldb/lldb-private-interfaces.h
  lldb/source/Commands/CMakeLists.txt
  lldb/source/Commands/CommandObjectTrace.cpp
  lldb/source/Commands/CommandObjectTrace.h
  lldb/source/Commands/Options.td
  lldb/source/Core/PluginManager.cpp
  lldb/source/Interpreter/CommandInterpreter.cpp
  lldb/source/Plugins/CMakeLists.txt
  lldb/source/Plugins/Trace/CMakeLists.txt
  lldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
  lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
  lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
  lldb/source/Target/CMakeLists.txt
  lldb/source/Target/Trace.cpp
  lldb/source/Utility/StructuredData.cpp
  lldb/test/API/commands/trace/TestTraceLoad.py
  lldb/test/API/commands/trace/TestTraceSchema.py
  lldb/test/API/commands/trace/intelpt-trace/3842849.trace
  lldb/test/API/commands/trace/intelpt-trace/a.out
  lldb/test/API/commands/trace/intelpt-trace/main.cpp
  lldb/test/API/commands/trace/intelpt-trace/trace.json
  lldb/test/API/commands/trace/intelpt-trace/trace_bad.json
  lldb/test/API/commands/trace/intelpt-trace/trace_bad2.json

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85705.288145.patch
Type: text/x-patch
Size: 54133 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200827/a65217f8/attachment-0001.bin>


More information about the lldb-commits mailing list