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;
Saying lldb-enumerations.h might save someone some grepping time, also saying that it should be in decimal.
Can you clarify what TraceType means? Is it:
The way the trace is generated/stored, like on chip vs off chip
The thing you're tracging, e.g. instructions or power usage
Specific trace versions e.g intel pt, arm coresight (pretty sure it's not this one)
If there's the possibility of one system having multiple types then the packet should at least have the format to hold them, even though we only read the first one.
Which your code already does since:
1,2;
Would stop parsing at the ',' anyway, but worth noting if it's relevant.