[all-commits] [llvm/llvm-project] bf9f21: [trace][intel-pt] Create basic SB API

walter erquinigo via All-commits all-commits at lists.llvm.org
Thu Jun 17 15:23:39 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bf9f21a28be171dc500cc68b4cb1fcd3fc33f229
      https://github.com/llvm/llvm-project/commit/bf9f21a28be171dc500cc68b4cb1fcd3fc33f229
  Author: Walter Erquinigo <wallace at fb.com>
  Date:   2021-06-17 (Thu, 17 Jun 2021)

  Changed paths:
    M lldb/bindings/headers.swig
    M lldb/bindings/interface/SBProcess.i
    M lldb/bindings/interface/SBStructuredData.i
    M lldb/bindings/interface/SBTarget.i
    M lldb/bindings/interface/SBTrace.i
    R lldb/bindings/interface/SBTraceOptions.i
    M lldb/bindings/interfaces.swig
    M lldb/docs/.htaccess
    M lldb/docs/design/overview.rst
    M lldb/docs/lldb-gdb-remote.txt
    M lldb/include/lldb/API/LLDB.h
    M lldb/include/lldb/API/SBDefines.h
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBThread.h
    M lldb/include/lldb/API/SBTrace.h
    R lldb/include/lldb/API/SBTraceOptions.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Target/Trace.h
    M lldb/include/lldb/Utility/TraceGDBRemotePackets.h
    R lldb/include/lldb/Utility/TraceOptions.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/packages/Python/lldbsuite/test/dotest.py
    A lldb/packages/Python/lldbsuite/test/tools/intelpt/intelpt_testcase.py
    M lldb/source/API/CMakeLists.txt
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBReproducer.cpp
    M lldb/source/API/SBStructuredData.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SBTrace.cpp
    R lldb/source/API/SBTraceOptions.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectThreadUtil.h
    M lldb/source/Commands/CommandObjectTrace.cpp
    M lldb/source/Plugins/Process/Linux/IntelPTManager.cpp
    M lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
    M lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
    A lldb/source/Plugins/Trace/intel-pt/TraceIntelPTConstants.h
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTOptions.td
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTSessionFileParser.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Trace.cpp
    M lldb/test/API/commands/trace/TestTraceDumpInstructions.py
    M lldb/test/API/commands/trace/TestTraceLoad.py
    M lldb/test/API/commands/trace/TestTraceSchema.py
    M lldb/test/API/commands/trace/TestTraceStartStop.py
    M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp

  Log Message:
  -----------
  [trace][intel-pt] Create basic SB API

This adds a basic SB API for creating and stopping traces.
Note: This doesn't add any APIs for inspecting individual instructions. That'd be a more complicated change and it might be better to enhande the dump functionality to output the data in binary format. I'll leave that for a later diff.

This also enhances the existing tests so that they test the same flow using both the command interface and the SB API.

I also did some cleanup of legacy code.

Differential Revision: https://reviews.llvm.org/D103500




More information about the All-commits mailing list