LLDB mainline
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CommandObjectMemoryRead Class Reference
Inheritance diagram for CommandObjectMemoryRead:
Inheritance graph
[legend]

Public Member Functions

 CommandObjectMemoryRead (CommandInterpreter &interpreter)
 
 ~CommandObjectMemoryRead () override=default
 
OptionsGetOptions () override
 
std::optional< std::string > GetRepeatCommand (Args &current_command_args, uint32_t index) override
 Get the command that appropriate for a "repeat" of the current command.
 
- 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
 
CommandInterpreterGetCommandInterpreter ()
 
DebuggerGetDebugger ()
 
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 CommandObjectMultiwordGetAsMultiwordCommand ()
 
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 CommandObjectGetSubcommandObject (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 OptionsGetOptions ()
 
void AddSimpleArgumentList (lldb::CommandArgumentType arg_type, ArgumentRepetitionType repetition_type=eArgRepeatPlain)
 
void AddIDsArgumentData (IDType type)
 
int GetNumArgumentEntries ()
 
CommandArgumentEntryGetArgumentEntryAtIndex (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)
 
FlagsGetFlags ()
 The flags accessor.
 
const FlagsGetFlags () const
 The flags const accessor.
 
virtual std::optional< std::string > GetRepeatCommand (Args &current_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)
 
void SetOriginalCommandString (std::string s)
 Set the command input as it appeared in the terminal.
 
virtual void Execute (const char *args_string, CommandReturnObject &result)=0
 

Protected Member Functions

void DoExecute (Args &command, CommandReturnObject &result) override
 
- 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 ()
 
TargetGetDummyTarget ()
 
TargetGetTarget ()
 
ThreadGetDefaultThread ()
 
bool CheckRequirements (CommandReturnObject &result)
 Check the command to make sure anything required by this command is available.
 
void Cleanup ()
 

Protected Attributes

OptionGroupOptions m_option_group
 
OptionGroupFormat m_format_options
 
OptionGroupReadMemory m_memory_options
 
OptionGroupOutputFile m_outfile_options
 
OptionGroupValueObjectDisplay m_varobj_options
 
OptionGroupMemoryTag m_memory_tag_options
 
lldb::addr_t m_next_addr = LLDB_INVALID_ADDRESS
 
lldb::addr_t m_prev_byte_size = 0
 
OptionGroupFormat m_prev_format_options
 
OptionGroupReadMemory m_prev_memory_options
 
OptionGroupOutputFile m_prev_outfile_options
 
OptionGroupValueObjectDisplay m_prev_varobj_options
 
OptionGroupMemoryTag m_prev_memory_tag_options
 
CompilerType m_prev_compiler_type
 
- Protected Attributes inherited from lldb_private::CommandObject
CommandInterpreterm_interpreter
 
ExecutionContext m_exe_ctx
 
std::unique_lock< std::recursive_mutex > m_api_locker
 
std::string m_cmd_name
 
std::string m_cmd_help_short
 
std::string m_cmd_help_long
 
std::string m_cmd_syntax
 
std::string m_original_command
 
Flags m_flags
 
std::vector< CommandArgumentEntrym_arguments
 
lldb::CommandOverrideCallback m_deprecated_command_override_callback
 
lldb_private::CommandOverrideCallbackWithResult m_command_override_callback
 
void * m_command_override_baton
 
bool m_is_user_command = false
 

Additional Inherited Members

- Public Types inherited from lldb_private::CommandObject
enum  IDType { eBreakpointArgs = 0 , eWatchpointArgs = 1 }
 
typedef llvm::StringRef() ArgumentHelpCallbackFunction()
 
typedef std::vector< CommandArgumentDataCommandArgumentEntry
 
typedef std::map< std::string, lldb::CommandObjectSP, std::less<> > CommandMap
 
- Static Public Member Functions inherited from lldb_private::CommandObject
static const char * GetArgumentTypeAsCString (const lldb::CommandArgumentType arg_type)
 
static const char * GetArgumentDescriptionAsCString (const lldb::CommandArgumentType arg_type)
 
static lldb::CommandArgumentType LookupArgumentName (llvm::StringRef arg_name)
 
static const ArgumentTableEntryFindArgumentDataByType (lldb::CommandArgumentType arg_type)
 
static void GetArgumentHelp (Stream &str, lldb::CommandArgumentType arg_type, CommandInterpreter &interpreter)
 
static const char * GetArgumentName (lldb::CommandArgumentType arg_type)
 
static bool IsPairType (ArgumentRepetitionType arg_repeat_type)
 
static std::optional< ArgumentRepetitionTypeArgRepetitionFromString (llvm::StringRef string)
 

Detailed Description

Definition at line 285 of file CommandObjectMemory.cpp.

Constructor & Destructor Documentation

◆ CommandObjectMemoryRead()

CommandObjectMemoryRead::CommandObjectMemoryRead ( CommandInterpreter interpreter)
inline

◆ ~CommandObjectMemoryRead()

CommandObjectMemoryRead::~CommandObjectMemoryRead ( )
overridedefault

Member Function Documentation

◆ DoExecute()

void CommandObjectMemoryRead::DoExecute ( Args command,
CommandReturnObject result 
)
inlineoverrideprotectedvirtual

Implements lldb_private::CommandObjectParsed.

Definition at line 351 of file CommandObjectMemory.cpp.

References ALL_KEYWORDS, lldb_private::OptionGroupFormat::AnyOptionWasSet(), lldb_private::OptionGroupMemoryTag::AnyOptionWasSet(), lldb_private::OptionGroupOutputFile::AnyOptionWasSet(), lldb_private::OptionGroupValueObjectDisplay::AnyOptionWasSet(), OptionGroupReadMemory::AnyOptionWasSet(), lldb_private::CommandReturnObject::AppendError(), lldb_private::CommandReturnObject::AppendErrorWithFormat(), lldb_private::CommandReturnObject::AppendWarning(), lldb_private::CommandReturnObject::AppendWarningWithFormat(), lldb_private::ValueObjectMemory::Create(), lldb_private::DumpDataExtractor(), lldb::eFormatChar, lldb::eFormatCharArray, lldb::eFormatCharPrintable, lldb::eFormatCString, lldb::eFormatDefault, lldb_private::eLanguageRuntimeDescriptionDisplayVerbosityFull, lldb::eLanguageTypeUnknown, lldb_private::Stream::EOL(), lldb_private::File::eOpenOptionAppend, lldb_private::File::eOpenOptionCanCreate, lldb_private::File::eOpenOptionTruncate, lldb_private::File::eOpenOptionWriteOnly, lldb::eReturnStatusSuccessFinishResult, error(), OptionGroupReadMemory::FinalizeSettings(), lldb_private::ModuleList::FindTypes(), lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::OptionGroupOutputFile::GetAppend(), lldb_private::Target::GetArchitecture(), lldb_private::Args::GetArgumentCount(), lldb_private::OptionGroupValueObjectDisplay::GetAsDumpOptions(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::ArchSpec::GetByteOrder(), lldb_private::CompilerType::GetByteSize(), lldb_private::OptionGroupFormat::GetByteSizeValue(), lldb_private::OptionGroupFormat::GetCountValue(), lldb_private::ConstString::GetCString(), lldb_private::OptionValueFileSpec::GetCurrentValue(), lldb_private::OptionValueBoolean::GetCurrentValue(), lldb_private::OptionValueFormat::GetCurrentValue(), lldb_private::OptionValueLanguage::GetCurrentValue(), lldb_private::OptionValueString::GetCurrentValue(), lldb_private::OptionValueUInt64::GetCurrentValue(), lldb_private::StreamString::GetData(), lldb_private::ArchSpec::GetDataByteSize(), lldb_private::OptionGroupOutputFile::GetFile(), lldb_private::TypeResults::GetFirstType(), lldb_private::OptionGroupFormat::GetFormat(), lldb_private::OptionGroupFormat::GetFormatValue(), lldb_private::ExecutionContext::GetFramePtr(), lldb_private::Target::GetImages(), lldb_private::TargetProperties::GetMaximumMemReadSize(), lldb_private::TargetProperties::GetMaximumSizeOfStringSummary(), lldb_private::CompilerType::GetOpaqueQualType(), lldb_private::CommandReturnObject::GetOutputStream(), lldb_private::FileSpec::GetPath(), lldb_private::Target::GetPersistentExpressionStateForLanguage(), lldb_private::CompilerType::GetPointerType(), lldb_private::OptionGroupMemoryTag::GetShowTags(), lldb_private::StreamString::GetString(), lldb_private::ConstString::GetStringRef(), lldb_private::Language::GetSupportedLanguages(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::ExecutionContext::GetTargetPtr(), lldb_private::OptionGroupFormat::HasGDBFormat(), lldb_private::FileSystem::Instance(), lldb_private::CompilerType::IsValid(), LLDB_INVALID_ADDRESS, lldb_private::CommandObject::m_cmd_name, lldb_private::CommandObject::m_exe_ctx, OptionGroupReadMemory::m_force, m_format_options, OptionGroupReadMemory::m_language_for_type, m_memory_options, m_memory_tag_options, m_next_addr, OptionGroupReadMemory::m_num_per_line, OptionGroupReadMemory::m_offset, m_outfile_options, OptionGroupReadMemory::m_output_as_binary, m_prev_byte_size, m_prev_compiler_type, m_prev_format_options, m_prev_memory_options, m_prev_memory_tag_options, m_prev_outfile_options, m_prev_varobj_options, m_varobj_options, OptionGroupReadMemory::m_view_as_type, lldb_private::SymbolContext::module_sp, lldb_private::FileSystem::Open(), lldb_private::OptionValue::OptionWasSet(), lldb_private::Stream::Printf(), lldb_private::Target::ReadCStringFromMemory(), lldb_private::Target::ReadMemory(), lldb_private::OptionValueFormat::SetCurrentValue(), lldb_private::CommandReturnObject::SetStatus(), lldb_private::OptionArgParser::ToAddress(), and lldb_private::toString().

◆ GetOptions()

Options * CommandObjectMemoryRead::GetOptions ( )
inlineoverridevirtual

Reimplemented from lldb_private::CommandObject.

Definition at line 343 of file CommandObjectMemory.cpp.

References m_option_group.

◆ GetRepeatCommand()

std::optional< std::string > CommandObjectMemoryRead::GetRepeatCommand ( Args current_command_args,
uint32_t  index 
)
inlineoverridevirtual

Get the command that appropriate for a "repeat" of the current command.

Parameters
[in]current_command_argsThe command arguments.
[in]indexThis is for internal use - it is how the completion request is tracked in CommandObjectMultiword, and should otherwise be ignored.
Returns
std::nullopt if there is no special repeat command - it will use the current command line. Otherwise a std::string containing the command to be repeated. If the string is empty, the command won't be allow repeating.

Reimplemented from lldb_private::CommandObject.

Definition at line 345 of file CommandObjectMemory.cpp.

References lldb_private::CommandObject::m_cmd_name.

Member Data Documentation

◆ m_format_options

OptionGroupFormat CommandObjectMemoryRead::m_format_options
protected

Definition at line 869 of file CommandObjectMemory.cpp.

Referenced by CommandObjectMemoryRead(), and DoExecute().

◆ m_memory_options

OptionGroupReadMemory CommandObjectMemoryRead::m_memory_options
protected

Definition at line 870 of file CommandObjectMemory.cpp.

Referenced by CommandObjectMemoryRead(), and DoExecute().

◆ m_memory_tag_options

OptionGroupMemoryTag CommandObjectMemoryRead::m_memory_tag_options
protected

Definition at line 873 of file CommandObjectMemory.cpp.

Referenced by CommandObjectMemoryRead(), and DoExecute().

◆ m_next_addr

lldb::addr_t CommandObjectMemoryRead::m_next_addr = LLDB_INVALID_ADDRESS
protected

Definition at line 874 of file CommandObjectMemory.cpp.

Referenced by DoExecute().

◆ m_option_group

OptionGroupOptions CommandObjectMemoryRead::m_option_group
protected

Definition at line 868 of file CommandObjectMemory.cpp.

Referenced by CommandObjectMemoryRead(), and GetOptions().

◆ m_outfile_options

OptionGroupOutputFile CommandObjectMemoryRead::m_outfile_options
protected

Definition at line 871 of file CommandObjectMemory.cpp.

Referenced by CommandObjectMemoryRead(), and DoExecute().

◆ m_prev_byte_size

lldb::addr_t CommandObjectMemoryRead::m_prev_byte_size = 0
protected

Definition at line 875 of file CommandObjectMemory.cpp.

Referenced by DoExecute().

◆ m_prev_compiler_type

CompilerType CommandObjectMemoryRead::m_prev_compiler_type
protected

Definition at line 881 of file CommandObjectMemory.cpp.

Referenced by DoExecute().

◆ m_prev_format_options

OptionGroupFormat CommandObjectMemoryRead::m_prev_format_options
protected

Definition at line 876 of file CommandObjectMemory.cpp.

Referenced by DoExecute().

◆ m_prev_memory_options

OptionGroupReadMemory CommandObjectMemoryRead::m_prev_memory_options
protected

Definition at line 877 of file CommandObjectMemory.cpp.

Referenced by DoExecute().

◆ m_prev_memory_tag_options

OptionGroupMemoryTag CommandObjectMemoryRead::m_prev_memory_tag_options
protected

Definition at line 880 of file CommandObjectMemory.cpp.

Referenced by DoExecute().

◆ m_prev_outfile_options

OptionGroupOutputFile CommandObjectMemoryRead::m_prev_outfile_options
protected

Definition at line 878 of file CommandObjectMemory.cpp.

Referenced by DoExecute().

◆ m_prev_varobj_options

OptionGroupValueObjectDisplay CommandObjectMemoryRead::m_prev_varobj_options
protected

Definition at line 879 of file CommandObjectMemory.cpp.

Referenced by DoExecute().

◆ m_varobj_options

OptionGroupValueObjectDisplay CommandObjectMemoryRead::m_varobj_options
protected

Definition at line 872 of file CommandObjectMemory.cpp.

Referenced by CommandObjectMemoryRead(), and DoExecute().


The documentation for this class was generated from the following file: