Depends on D89283.
The goal of this packet (jTraceGetSupportedType) is to be able to query the gdb-server for the tracing technology that can work for the current debuggeer, which can make the user experience simpler but allowing the user to simply type
thread trace start
to start tracing the current thread without even telling the debugger to use "intel-pt", for example. Similarly, `thread trace start [args...]` would accept args beloging to the working trace type.
Also, if the user typed
help thread trace start
We could directly show the help information of the trace type that is supported for the target, or mention instead that no tracing is supported, if that's the case.
I added some simple tests, besides, when I ran this on my machine with intel-pt support, I got
$ process plugin packet send "jTraceSupportedType"
packet: jTraceSupportedType
response: {"description":"Intel Processor Trace","pluginName":"intel-pt"}
On a machine without intel-pt support, I got
$ process plugin packet send "jTraceSupportedType"
packet: jTraceSupportedType
response: E00;
Reviewed By: clayborg, labath
Differential Revision: https://reviews.llvm.org/D90490
86 lines
1.6 KiB
CMake
86 lines
1.6 KiB
CMake
set(LLDB_SYSTEM_LIBS)
|
|
|
|
if (APPLE)
|
|
list(APPEND LLDB_SYSTEM_LIBS
|
|
${FOUNDATION_LIBRARY}
|
|
${CORE_FOUNDATION_LIBRARY}
|
|
${CORE_SERVICES_LIBRARY}
|
|
${SECURITY_LIBRARY}
|
|
${DEBUG_SYMBOLS_LIBRARY})
|
|
endif()
|
|
|
|
if(NOT PURE_WINDOWS)
|
|
list(APPEND LLDB_SYSTEM_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
|
endif()
|
|
|
|
list(APPEND LLDB_SYSTEM_LIBS ${CMAKE_DL_LIBS})
|
|
|
|
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
list(APPEND LLDB_SYSTEM_LIBS ws2_32 rpcrt4)
|
|
endif ()
|
|
|
|
if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB )
|
|
list(APPEND LLDB_SYSTEM_LIBS atomic)
|
|
endif()
|
|
|
|
add_lldb_library(lldbUtility
|
|
ArchSpec.cpp
|
|
Args.cpp
|
|
Baton.cpp
|
|
Broadcaster.cpp
|
|
CompletionRequest.cpp
|
|
Connection.cpp
|
|
ConstString.cpp
|
|
DataBufferHeap.cpp
|
|
DataBufferLLVM.cpp
|
|
DataEncoder.cpp
|
|
DataExtractor.cpp
|
|
Environment.cpp
|
|
Event.cpp
|
|
FileSpec.cpp
|
|
GDBRemote.cpp
|
|
IOObject.cpp
|
|
LLDBAssert.cpp
|
|
Listener.cpp
|
|
Log.cpp
|
|
Logging.cpp
|
|
NameMatches.cpp
|
|
ProcessInfo.cpp
|
|
RegisterValue.cpp
|
|
RegularExpression.cpp
|
|
Reproducer.cpp
|
|
ReproducerInstrumentation.cpp
|
|
ReproducerProvider.cpp
|
|
Scalar.cpp
|
|
SelectHelper.cpp
|
|
State.cpp
|
|
Status.cpp
|
|
Stream.cpp
|
|
StreamCallback.cpp
|
|
StreamString.cpp
|
|
StringExtractor.cpp
|
|
StringExtractorGDBRemote.cpp
|
|
StringLexer.cpp
|
|
StringList.cpp
|
|
StructuredData.cpp
|
|
TildeExpressionResolver.cpp
|
|
Timer.cpp
|
|
TraceOptions.cpp
|
|
UnimplementedError.cpp
|
|
UUID.cpp
|
|
UriParser.cpp
|
|
UserID.cpp
|
|
UserIDResolver.cpp
|
|
VASprintf.cpp
|
|
VMRange.cpp
|
|
XcodeSDK.cpp
|
|
|
|
LINK_LIBS
|
|
${LLDB_SYSTEM_LIBS}
|
|
# lldbUtility does not depend on other LLDB libraries
|
|
|
|
LINK_COMPONENTS
|
|
BinaryFormat
|
|
Support
|
|
)
|