LLDB mainline
|
Class similar to CommandObjectIterateOverThreads, but which performs an action on multiple threads at once instead of iterating over each thread. More...
#include <CommandObjectThreadUtil.h>
Public Member Functions | |
CommandObjectMultipleThreads (CommandInterpreter &interpreter, const char *name, const char *help, const char *syntax, uint32_t flags) | |
void | DoExecute (Args &command, CommandReturnObject &result) override |
Public Member Functions inherited from lldb_private::CommandObjectParsed | |
CommandObjectParsed (CommandInterpreter &interpreter, const char *name, const char *help=nullptr, const char *syntax=nullptr, uint32_t flags=0) | |
~CommandObjectParsed () override=default | |
void | Execute (const char *args_string, CommandReturnObject &result) override |
Public Member Functions inherited from lldb_private::CommandObject | |
CommandObject (CommandInterpreter &interpreter, llvm::StringRef name, llvm::StringRef help="", llvm::StringRef syntax="", uint32_t flags=0) | |
virtual | ~CommandObject ()=default |
CommandInterpreter & | GetCommandInterpreter () |
Debugger & | GetDebugger () |
virtual llvm::StringRef | GetHelp () |
virtual llvm::StringRef | GetHelpLong () |
virtual llvm::StringRef | GetSyntax () |
llvm::StringRef | GetCommandName () const |
virtual void | SetHelp (llvm::StringRef str) |
virtual void | SetHelpLong (llvm::StringRef str) |
void | SetSyntax (llvm::StringRef str) |
virtual bool | IsRemovable () const |
virtual bool | IsMultiwordObject () |
bool | IsUserCommand () |
void | SetIsUserCommand (bool is_user) |
virtual CommandObjectMultiword * | GetAsMultiwordCommand () |
virtual bool | IsAlias () |
virtual bool | IsDashDashCommand () |
virtual lldb::CommandObjectSP | GetSubcommandSP (llvm::StringRef sub_cmd, StringList *matches=nullptr) |
virtual lldb::CommandObjectSP | GetSubcommandSPExact (llvm::StringRef sub_cmd) |
virtual CommandObject * | GetSubcommandObject (llvm::StringRef sub_cmd, StringList *matches=nullptr) |
void | FormatLongHelpText (Stream &output_strm, llvm::StringRef long_help) |
void | GenerateHelpText (CommandReturnObject &result) |
virtual void | GenerateHelpText (Stream &result) |
virtual bool | LoadSubCommand (llvm::StringRef cmd_name, const lldb::CommandObjectSP &command_obj) |
virtual llvm::Error | LoadUserSubcommand (llvm::StringRef cmd_name, const lldb::CommandObjectSP &command_obj, bool can_replace) |
virtual bool | WantsRawCommandString ()=0 |
virtual bool | WantsCompletion () |
virtual Options * | GetOptions () |
void | AddSimpleArgumentList (lldb::CommandArgumentType arg_type, ArgumentRepetitionType repetition_type=eArgRepeatPlain) |
void | AddIDsArgumentData (IDType type) |
int | GetNumArgumentEntries () |
CommandArgumentEntry * | GetArgumentEntryAtIndex (int idx) |
void | GetFormattedCommandArguments (Stream &str, uint32_t opt_set_mask=LLDB_OPT_SET_ALL) |
bool | ParseOptions (Args &args, CommandReturnObject &result) |
void | SetCommandName (llvm::StringRef name) |
virtual void | HandleCompletion (CompletionRequest &request) |
This default version handles calling option argument completions and then calls HandleArgumentCompletion if the cursor is on an argument, not an option. | |
virtual void | HandleArgumentCompletion (CompletionRequest &request, OptionElementVector &opt_element_vector) |
The default version handles argument definitions that have only one argument type, and use one of the argument types that have an entry in the CommonCompletions. | |
bool | HelpTextContainsWord (llvm::StringRef search_word, bool search_short_help=true, bool search_long_help=true, bool search_syntax=true, bool search_options=true) |
Flags & | GetFlags () |
The flags accessor. | |
const Flags & | GetFlags () const |
The flags const accessor. | |
virtual std::optional< std::string > | GetRepeatCommand (Args ¤t_command_args, uint32_t index) |
Get the command that appropriate for a "repeat" of the current command. | |
bool | HasOverrideCallback () const |
void | SetOverrideCallback (lldb::CommandOverrideCallback callback, void *baton) |
void | SetOverrideCallback (lldb_private::CommandOverrideCallbackWithResult callback, void *baton) |
bool | InvokeOverrideCallback (const char **argv, CommandReturnObject &result) |
virtual void | Execute (const char *args_string, CommandReturnObject &result)=0 |
Protected Member Functions | |
virtual bool | DoExecuteOnThreads (Args &command, CommandReturnObject &result, llvm::ArrayRef< lldb::tid_t > tids)=0 |
Method that handles the command after the main arguments have been parsed. | |
Protected Member Functions inherited from lldb_private::CommandObjectParsed | |
virtual void | DoExecute (Args &command, CommandReturnObject &result)=0 |
bool | WantsRawCommandString () override |
Protected Member Functions inherited from lldb_private::CommandObject | |
bool | ParseOptionsAndNotify (Args &args, CommandReturnObject &result, OptionGroupOptions &group_options, ExecutionContext &exe_ctx) |
virtual const char * | GetInvalidTargetDescription () |
virtual const char * | GetInvalidProcessDescription () |
virtual const char * | GetInvalidThreadDescription () |
virtual const char * | GetInvalidFrameDescription () |
virtual const char * | GetInvalidRegContextDescription () |
Target & | GetDummyTarget () |
Target & | GetTarget () |
Thread * | GetDefaultThread () |
bool | CheckRequirements (CommandReturnObject &result) |
Check the command to make sure anything required by this command is available. | |
void | Cleanup () |
Class similar to CommandObjectIterateOverThreads, but which performs an action on multiple threads at once instead of iterating over each thread.
Definition at line 82 of file CommandObjectThreadUtil.h.
CommandObjectMultipleThreads::CommandObjectMultipleThreads | ( | CommandInterpreter & | interpreter, |
const char * | name, | ||
const char * | help, | ||
const char * | syntax, | ||
uint32_t | flags | ||
) |
Definition at line 27 of file CommandObjectThreadUtil.cpp.
References lldb_private::CommandObject::AddSimpleArgumentList(), lldb_private::eArgRepeatStar, and lldb::eArgTypeThreadIndex.
|
overridevirtual |
Implements lldb_private::CommandObjectParsed.
Definition at line 167 of file CommandObjectThreadUtil.cpp.
References lldb_private::CommandReturnObject::AppendErrorWithFormat(), DoExecuteOnThreads(), lldb_private::ThreadList::FindThreadByIndexID(), lldb_private::Args::GetArgumentAtIndex(), lldb_private::Args::GetArgumentCount(), lldb_private::UserID::GetID(), lldb_private::ThreadList::GetMutex(), lldb_private::ExecutionContext::GetProcessRef(), lldb_private::Process::GetThreadList(), lldb_private::ExecutionContext::GetThreadRef(), lldb_private::CommandObject::m_exe_ctx, and lldb_private::Process::Threads().
|
protectedpure virtual |
Method that handles the command after the main arguments have been parsed.
[in] | tids | The thread ids passed as arguments. |
Implemented in lldb_private::trace_intel_pt::CommandObjectThreadTraceStartIntelPT.
Referenced by DoExecute().