llvm-project/lldb/source/Interpreter
Walter Erquinigo fb19f11ef4 [trace][intel-pt] Scaffold the 'thread trace start | stop' commands
Depends on D90490.

The stop command is simple and invokes the new method Trace::StopTracingThread(thread).

On the other hand, the start command works by delegating its implementation to a CommandObject provided by the Trace plugin. This is necessary because each trace plugin needs different options for this command. There's even the chance that a Trace plugin can't support live tracing, but instead supports offline decoding and analysis, which means that "thread trace dump instructions" works but "thread trace start" doest. Because of this and a few other reasons, it's better to have each plugin provide this implementation.

Besides, I'm using the GetSupportedTraceType method introduced in D90490 to quickly infer what's the trace plug-in that works for the current process.

As an implementation note, I moved CommandObjectIterateOverThreads to its header so that I can use it from the IntelPT plugin. Besides, the actual start and stop logic for intel-pt is not part of this diff.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D90729
2020-11-18 18:24:36 -08:00
..
CMakeLists.txt [lldb] Move ScriptCommand and RegexCommand under Commands (NFC) 2020-09-01 17:33:39 -07:00
CommandAlias.cpp [lldb/Interpreter] Support color in CommandReturnObject 2020-06-09 10:45:45 -07:00
CommandHistory.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
CommandInterpreter.cpp [lldb] Make GetSelectedOrDummyTarget return the target by reference (NFC) 2020-11-09 15:42:27 -08:00
CommandObject.cpp [trace][intel-pt] Scaffold the 'thread trace start | stop' commands 2020-11-18 18:24:36 -08:00
CommandOptionValidators.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
CommandReturnObject.cpp [lldb/Interpreter] Support color in CommandReturnObject 2020-06-09 10:45:45 -07:00
InterpreterProperties.td [lldb/interpreter] Add ability to save lldb session to a file 2020-07-22 11:43:16 +02:00
OptionArgParser.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupArchitecture.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
OptionGroupBoolean.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupFile.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupFormat.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupOutputFile.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupPlatform.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
OptionGroupPythonClassWithDict.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
OptionGroupString.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupUInt64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupUUID.cpp [lldb] tab completion for `target modules load -u` 2020-08-11 12:35:36 +02:00
OptionGroupValueObjectDisplay.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupVariable.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionGroupWatchpoint.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValue.cpp [lldb] Remove redundant WithFormat suffixes (NFC) 2020-07-20 23:00:32 -07:00
OptionValueArch.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueArgs.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueArray.cpp Add an option (-y) to "break set" and "source list" that uses the same 2020-07-20 17:40:36 -07:00
OptionValueBoolean.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueChar.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueDictionary.cpp Add an option (-y) to "break set" and "source list" that uses the same 2020-07-20 17:40:36 -07:00
OptionValueEnumeration.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueFileColonLine.cpp Add an option (-y) to "break set" and "source list" that uses the same 2020-07-20 17:40:36 -07:00
OptionValueFileSpec.cpp Add an option (-y) to "break set" and "source list" that uses the same 2020-07-20 17:40:36 -07:00
OptionValueFileSpecList.cpp [lldb][NFC] Migrate FileSpec::Dump to raw_ostream 2019-12-06 09:40:42 +01:00
OptionValueFormat.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueFormatEntity.cpp Remove the "bool" return from OptionValue::Clear and its subclasses. 2020-07-21 11:32:55 -07:00
OptionValueLanguage.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValuePathMappings.cpp [source maps] Fix remove, insert-after and replace 2020-04-03 19:15:56 -07:00
OptionValueProperties.cpp [lldb][NFC] Remove property predicate matcher 2020-10-13 17:09:27 +02:00
OptionValueRegex.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueSInt64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueString.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
OptionValueUInt64.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
OptionValueUUID.cpp Support build-ids of other sizes than 16 in UUID::SetFromStringRef 2020-06-07 10:03:41 +00:00
Options.cpp [lldb][NFC] Move OptionDefinition from lldb-private-types.h to its own Utility header 2020-11-12 15:30:26 +01:00
Property.cpp Add an option (-y) to "break set" and "source list" that uses the same 2020-07-20 17:40:36 -07:00
ScriptInterpreter.cpp [lldb] Support Python imports relative the to the current file being sourced 2020-10-27 09:20:45 -07:00
embedded_interpreter.py [lldb/Python] Fix the infinitely looping Python prompt bug 2020-06-16 11:05:19 -07:00