#include "CommandObjectThread.h"
#include <memory>
#include <optional>
#include <sstream>
#include "CommandObjectThreadUtil.h"
#include "CommandObjectTrace.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Host/OptionParser.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandOptionArgumentTable.h"
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Interpreter/OptionArgParser.h"
#include "lldb/Interpreter/OptionGroupPythonClassWithDict.h"
#include "lldb/Interpreter/Options.h"
#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/LineEntry.h"
#include "lldb/Symbol/LineTable.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/SystemRuntime.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadPlan.h"
#include "lldb/Target/ThreadPlanStepInRange.h"
#include "lldb/Target/Trace.h"
#include "lldb/Target/TraceDumper.h"
#include "lldb/Utility/State.h"
usingnamespacelldb;
usingnamespacelldb_private;
#define LLDB_OPTIONS_thread_backtrace
#include "CommandOptions.inc"
class CommandObjectThreadBacktrace : public CommandObjectIterateOverThreads { … };
#define LLDB_OPTIONS_thread_step_scope
#include "CommandOptions.inc"
class ThreadStepScopeOptionGroup : public OptionGroup { … };
class CommandObjectThreadStepWithTypeAndScope : public CommandObjectParsed { … };
class CommandObjectThreadContinue : public CommandObjectParsed { … };
#define LLDB_OPTIONS_thread_until
#include "CommandOptions.inc"
class CommandObjectThreadUntil : public CommandObjectParsed { … };
#define LLDB_OPTIONS_thread_select
#include "CommandOptions.inc"
class CommandObjectThreadSelect : public CommandObjectParsed { … };
class CommandObjectThreadList : public CommandObjectParsed { … };
#define LLDB_OPTIONS_thread_info
#include "CommandOptions.inc"
class CommandObjectThreadInfo : public CommandObjectIterateOverThreads { … };
class CommandObjectThreadException : public CommandObjectIterateOverThreads { … };
class CommandObjectThreadSiginfo : public CommandObjectIterateOverThreads { … };
#define LLDB_OPTIONS_thread_return
#include "CommandOptions.inc"
class CommandObjectThreadReturn : public CommandObjectRaw { … };
#define LLDB_OPTIONS_thread_jump
#include "CommandOptions.inc"
class CommandObjectThreadJump : public CommandObjectParsed { … };
#define LLDB_OPTIONS_thread_plan_list
#include "CommandOptions.inc"
class CommandObjectThreadPlanList : public CommandObjectIterateOverThreads { … };
class CommandObjectThreadPlanDiscard : public CommandObjectParsed { … };
class CommandObjectThreadPlanPrune : public CommandObjectParsed { … };
class CommandObjectMultiwordThreadPlan : public CommandObjectMultiword { … };
class CommandObjectTraceExport : public CommandObjectMultiword { … };
class CommandObjectTraceStart : public CommandObjectTraceProxy { … };
class CommandObjectTraceStop : public CommandObjectMultipleThreads { … };
static ThreadSP GetSingleThreadFromArgs(ExecutionContext &exe_ctx, Args &args,
CommandReturnObject &result) { … }
#define LLDB_OPTIONS_thread_trace_dump_function_calls
#include "CommandOptions.inc"
class CommandObjectTraceDumpFunctionCalls : public CommandObjectParsed { … };
#define LLDB_OPTIONS_thread_trace_dump_instructions
#include "CommandOptions.inc"
class CommandObjectTraceDumpInstructions : public CommandObjectParsed { … };
#define LLDB_OPTIONS_thread_trace_dump_info
#include "CommandOptions.inc"
class CommandObjectTraceDumpInfo : public CommandObjectIterateOverThreads { … };
class CommandObjectMultiwordTraceDump : public CommandObjectMultiword { … };
class CommandObjectMultiwordTrace : public CommandObjectMultiword { … };
CommandObjectMultiwordThread::CommandObjectMultiwordThread(
CommandInterpreter &interpreter)
: … { … }
CommandObjectMultiwordThread::~CommandObjectMultiwordThread() = default;