LLDB API Documentation

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
lldb::SBTarget Class Reference

#include <SBTarget.h>

Public Types

enum  {
  eBroadcastBitBreakpointChanged = (1 << 0), eBroadcastBitModulesLoaded = (1 << 1), eBroadcastBitModulesUnloaded = (1 << 2), eBroadcastBitWatchpointChanged = (1 << 3),
  eBroadcastBitSymbolsLoaded = (1 << 4)
}

Public Member Functions

 SBTarget ()
 SBTarget (const lldb::SBTarget &rhs)
 SBTarget (const lldb::TargetSP &target_sp)
const lldb::SBTargetoperator= (const lldb::SBTarget &rhs)
 ~SBTarget ()
bool IsValid () const
lldb::SBProcess GetProcess ()
lldb::SBProcess Launch (SBListener &listener, char const **argv, char const **envp, const char *stdin_path, const char *stdout_path, const char *stderr_path, const char *working_directory, uint32_t launch_flags, bool stop_at_entry, lldb::SBError &error)
SBProcess LaunchSimple (const char **argv, const char **envp, const char *working_directory)
SBProcess Launch (SBLaunchInfo &launch_info, SBError &error)
SBProcess LoadCore (const char *core_file)
SBProcess Attach (SBAttachInfo &attach_info, SBError &error)
lldb::SBProcess AttachToProcessWithID (SBListener &listener, lldb::pid_t pid, lldb::SBError &error)
lldb::SBProcess AttachToProcessWithName (SBListener &listener, const char *name, bool wait_for, lldb::SBError &error)
lldb::SBProcess ConnectRemote (SBListener &listener, const char *url, const char *plugin_name, SBError &error)
lldb::SBFileSpec GetExecutable ()
bool AddModule (lldb::SBModule &module)
lldb::SBModule AddModule (const char *path, const char *triple, const char *uuid)
lldb::SBModule AddModule (const char *path, const char *triple, const char *uuid_cstr, const char *symfile)
lldb::SBModule AddModule (const SBModuleSpec &module_spec)
uint32_t GetNumModules () const
lldb::SBModule GetModuleAtIndex (uint32_t idx)
bool RemoveModule (lldb::SBModule module)
lldb::SBDebugger GetDebugger () const
lldb::SBModule FindModule (const lldb::SBFileSpec &file_spec)
lldb::ByteOrder GetByteOrder ()
uint32_t GetAddressByteSize ()
const char * GetTriple ()
lldb::SBError SetSectionLoadAddress (lldb::SBSection section, lldb::addr_t section_base_addr)
lldb::SBError ClearSectionLoadAddress (lldb::SBSection section)
lldb::SBError SetModuleLoadAddress (lldb::SBModule module, int64_t sections_offset)
lldb::SBError ClearModuleLoadAddress (lldb::SBModule module)
lldb::SBSymbolContextList FindFunctions (const char *name, uint32_t name_type_mask=lldb::eFunctionNameTypeAny)
lldb::SBValueList FindGlobalVariables (const char *name, uint32_t max_matches)
lldb::SBValue FindFirstGlobalVariable (const char *name)
void Clear ()
lldb::SBAddress ResolveLoadAddress (lldb::addr_t vm_addr)
SBSymbolContext ResolveSymbolContextForAddress (const SBAddress &addr, uint32_t resolve_scope)
lldb::SBBreakpoint BreakpointCreateByLocation (const char *file, uint32_t line)
lldb::SBBreakpoint BreakpointCreateByLocation (const lldb::SBFileSpec &file_spec, uint32_t line)
lldb::SBBreakpoint BreakpointCreateByName (const char *symbol_name, const char *module_name=NULL)
lldb::SBBreakpoint BreakpointCreateByName (const char *symbol_name, const SBFileSpecList &module_list, const SBFileSpecList &comp_unit_list)
lldb::SBBreakpoint BreakpointCreateByName (const char *symbol_name, uint32_t name_type_mask, const SBFileSpecList &module_list, const SBFileSpecList &comp_unit_list)
lldb::SBBreakpoint BreakpointCreateByNames (const char *symbol_name[], uint32_t num_names, uint32_t name_type_mask, const SBFileSpecList &module_list, const SBFileSpecList &comp_unit_list)
lldb::SBBreakpoint BreakpointCreateByRegex (const char *symbol_name_regex, const char *module_name=NULL)
lldb::SBBreakpoint BreakpointCreateByRegex (const char *symbol_name_regex, const SBFileSpecList &module_list, const SBFileSpecList &comp_unit_list)
lldb::SBBreakpoint BreakpointCreateBySourceRegex (const char *source_regex, const lldb::SBFileSpec &source_file, const char *module_name=NULL)
lldb::SBBreakpoint BreakpointCreateBySourceRegex (const char *source_regex, const SBFileSpecList &module_list, const lldb::SBFileSpecList &source_file)
lldb::SBBreakpoint BreakpointCreateForException (lldb::LanguageType language, bool catch_bp, bool throw_bp)
lldb::SBBreakpoint BreakpointCreateByAddress (addr_t address)
uint32_t GetNumBreakpoints () const
lldb::SBBreakpoint GetBreakpointAtIndex (uint32_t idx) const
bool BreakpointDelete (break_id_t break_id)
lldb::SBBreakpoint FindBreakpointByID (break_id_t break_id)
bool EnableAllBreakpoints ()
bool DisableAllBreakpoints ()
bool DeleteAllBreakpoints ()
uint32_t GetNumWatchpoints () const
lldb::SBWatchpoint GetWatchpointAtIndex (uint32_t idx) const
bool DeleteWatchpoint (lldb::watch_id_t watch_id)
lldb::SBWatchpoint FindWatchpointByID (lldb::watch_id_t watch_id)
lldb::SBWatchpoint WatchAddress (lldb::addr_t addr, size_t size, bool read, bool write, SBError &error)
bool EnableAllWatchpoints ()
bool DisableAllWatchpoints ()
bool DeleteAllWatchpoints ()
lldb::SBBroadcaster GetBroadcaster () const
lldb::SBType FindFirstType (const char *type)
lldb::SBTypeList FindTypes (const char *type)
lldb::SBType GetBasicType (lldb::BasicType type)
SBSourceManager GetSourceManager ()
lldb::SBInstructionList ReadInstructions (lldb::SBAddress base_addr, uint32_t count)
lldb::SBInstructionList ReadInstructions (lldb::SBAddress base_addr, uint32_t count, const char *flavor_string)
lldb::SBInstructionList GetInstructions (lldb::SBAddress base_addr, const void *buf, size_t size)
lldb::SBInstructionList GetInstructionsWithFlavor (lldb::SBAddress base_addr, const char *flavor_string, const void *buf, size_t size)
lldb::SBInstructionList GetInstructions (lldb::addr_t base_addr, const void *buf, size_t size)
lldb::SBInstructionList GetInstructionsWithFlavor (lldb::addr_t base_addr, const char *flavor_string, const void *buf, size_t size)
lldb::SBSymbolContextList FindSymbols (const char *name, lldb::SymbolType type=eSymbolTypeAny)
bool operator== (const lldb::SBTarget &rhs) const
bool operator!= (const lldb::SBTarget &rhs) const
bool GetDescription (lldb::SBStream &description, lldb::DescriptionLevel description_level)
lldb::SBValue EvaluateExpression (const char *expr, const SBExpressionOptions &options)
lldb::addr_t GetStackRedZoneSize ()

Static Public Member Functions

static const char * GetBroadcasterClassName ()

Protected Member Functions

lldb::TargetSP GetSP () const
void SetSP (const lldb::TargetSP &target_sp)

Friends

class SBAddress
class SBBlock
class SBDebugger
class SBFunction
class SBInstruction
class SBModule
class SBProcess
class SBSection
class SBSourceManager
class SBSymbol
class SBValue

Detailed Description

Definition at line 229 of file SBTarget.h.

Member Enumeration Documentation

anonymous enum
Enumerator:
eBroadcastBitBreakpointChanged 
eBroadcastBitModulesLoaded 
eBroadcastBitModulesUnloaded 
eBroadcastBitWatchpointChanged 
eBroadcastBitSymbolsLoaded 

Definition at line 235 of file SBTarget.h.

Constructor & Destructor Documentation

lldb::SBTarget::SBTarget ( )
lldb::SBTarget::SBTarget ( const lldb::SBTarget rhs)
lldb::SBTarget::SBTarget ( const lldb::TargetSP &  target_sp)
lldb::SBTarget::~SBTarget ( )

Member Function Documentation

bool lldb::SBTarget::AddModule ( lldb::SBModule module)
lldb::SBModule lldb::SBTarget::AddModule ( const char *  path,
const char *  triple,
const char *  uuid 
)
lldb::SBModule lldb::SBTarget::AddModule ( const char *  path,
const char *  triple,
const char *  uuid_cstr,
const char *  symfile 
)
lldb::SBModule lldb::SBTarget::AddModule ( const SBModuleSpec module_spec)
SBProcess lldb::SBTarget::Attach ( SBAttachInfo attach_info,
SBError error 
)
lldb::SBProcess lldb::SBTarget::AttachToProcessWithID ( SBListener listener,
lldb::pid_t  pid,
lldb::SBError error 
)

Attach to process with pid.

Parameters
[in]listenerAn optional listener that will receive all process events. If listener is valid then listener will listen to all process events. If not valid, then this target's debugger (SBTarget::GetDebugger()) will listen to all process events.
[in]pidThe process ID to attach to.
[out]Anerror explaining what went wrong if attach fails.
Returns
A process object for the attached process.
lldb::SBProcess lldb::SBTarget::AttachToProcessWithName ( SBListener listener,
const char *  name,
bool  wait_for,
lldb::SBError error 
)

Attach to process with name.

Parameters
[in]listenerAn optional listener that will receive all process events. If listener is valid then listener will listen to all process events. If not valid, then this target's debugger (SBTarget::GetDebugger()) will listen to all process events.
[in]nameBasename of process to attach to.
[in]wait_forIf true wait for a new instance of 'name' to be launched.
[out]Anerror explaining what went wrong if attach fails.
Returns
A process object for the attached process.
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByAddress ( addr_t  address)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByLocation ( const char *  file,
uint32_t  line 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByLocation ( const lldb::SBFileSpec file_spec,
uint32_t  line 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByName ( const char *  symbol_name,
const char *  module_name = NULL 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByName ( const char *  symbol_name,
const SBFileSpecList module_list,
const SBFileSpecList comp_unit_list 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByName ( const char *  symbol_name,
uint32_t  name_type_mask,
const SBFileSpecList module_list,
const SBFileSpecList comp_unit_list 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByNames ( const char *  symbol_name[],
uint32_t  num_names,
uint32_t  name_type_mask,
const SBFileSpecList module_list,
const SBFileSpecList comp_unit_list 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByRegex ( const char *  symbol_name_regex,
const char *  module_name = NULL 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateByRegex ( const char *  symbol_name_regex,
const SBFileSpecList module_list,
const SBFileSpecList comp_unit_list 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateBySourceRegex ( const char *  source_regex,
const lldb::SBFileSpec source_file,
const char *  module_name = NULL 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateBySourceRegex ( const char *  source_regex,
const SBFileSpecList module_list,
const lldb::SBFileSpecList source_file 
)
lldb::SBBreakpoint lldb::SBTarget::BreakpointCreateForException ( lldb::LanguageType  language,
bool  catch_bp,
bool  throw_bp 
)
bool lldb::SBTarget::BreakpointDelete ( break_id_t  break_id)
void lldb::SBTarget::Clear ( )
lldb::SBError lldb::SBTarget::ClearModuleLoadAddress ( lldb::SBModule  module)

The the section base load addresses for all sections in a module.

Parameters
[in]moduleThe module to unload.
Returns
An error to indicate success, fail, and any reason for failure.
lldb::SBError lldb::SBTarget::ClearSectionLoadAddress ( lldb::SBSection  section)

Clear the base load address for a module section.

Parameters
[in]sectionThe section whose base load address will be cleared within this target.
Returns
An error to indicate success, fail, and any reason for failure.
lldb::SBProcess lldb::SBTarget::ConnectRemote ( SBListener listener,
const char *  url,
const char *  plugin_name,
SBError error 
)

Connect to a remote debug server with url.

Parameters
[in]listenerAn optional listener that will receive all process events. If listener is valid then listener will listen to all process events. If not valid, then this target's debugger (SBTarget::GetDebugger()) will listen to all process events.
[in]urlThe url to connect to, e.g., 'connect://localhost:12345'.
[in]plugin_nameThe plugin name to be used; can be NULL.
[out]Anerror explaining what went wrong if the connect fails.
Returns
A process object for the connected process.
bool lldb::SBTarget::DeleteAllBreakpoints ( )
bool lldb::SBTarget::DeleteAllWatchpoints ( )
bool lldb::SBTarget::DeleteWatchpoint ( lldb::watch_id_t  watch_id)
bool lldb::SBTarget::DisableAllBreakpoints ( )
bool lldb::SBTarget::DisableAllWatchpoints ( )
bool lldb::SBTarget::EnableAllBreakpoints ( )
bool lldb::SBTarget::EnableAllWatchpoints ( )
lldb::SBValue lldb::SBTarget::EvaluateExpression ( const char *  expr,
const SBExpressionOptions options 
)
lldb::SBBreakpoint lldb::SBTarget::FindBreakpointByID ( break_id_t  break_id)
lldb::SBValue lldb::SBTarget::FindFirstGlobalVariable ( const char *  name)

Find the first global (or static) variable by name.

Parameters
[in]nameThe name of the global or static variable we are looking for.
Returns
An SBValue that gets filled in with the found variable (if any).
lldb::SBType lldb::SBTarget::FindFirstType ( const char *  type)
lldb::SBSymbolContextList lldb::SBTarget::FindFunctions ( const char *  name,
uint32_t  name_type_mask = lldb::eFunctionNameTypeAny 
)

Find functions by name.

Parameters
[in]nameThe name of the function we are looking for.
[in]name_type_maskA logical OR of one or more FunctionNameType enum bits that indicate what kind of names should be used when doing the lookup. Bits include fully qualified names, base names, C++ methods, or ObjC selectors. See FunctionNameType for more details.
Returns
A lldb::SBSymbolContextList that gets filled in with all of the symbol contexts for all the matches.
lldb::SBValueList lldb::SBTarget::FindGlobalVariables ( const char *  name,
uint32_t  max_matches 
)

Find global and static variables by name.

Parameters
[in]nameThe name of the global or static variable we are looking for.
[in]max_matchesAllow the number of matches to be limited to max_matches.
Returns
A list of matched variables in an SBValueList.
lldb::SBModule lldb::SBTarget::FindModule ( const lldb::SBFileSpec file_spec)
lldb::SBSymbolContextList lldb::SBTarget::FindSymbols ( const char *  name,
lldb::SymbolType  type = eSymbolTypeAny 
)
lldb::SBTypeList lldb::SBTarget::FindTypes ( const char *  type)
lldb::SBWatchpoint lldb::SBTarget::FindWatchpointByID ( lldb::watch_id_t  watch_id)
uint32_t lldb::SBTarget::GetAddressByteSize ( )
lldb::SBType lldb::SBTarget::GetBasicType ( lldb::BasicType  type)
lldb::SBBreakpoint lldb::SBTarget::GetBreakpointAtIndex ( uint32_t  idx) const
lldb::SBBroadcaster lldb::SBTarget::GetBroadcaster ( ) const
static const char* lldb::SBTarget::GetBroadcasterClassName ( )
static
lldb::ByteOrder lldb::SBTarget::GetByteOrder ( )
lldb::SBDebugger lldb::SBTarget::GetDebugger ( ) const
bool lldb::SBTarget::GetDescription ( lldb::SBStream description,
lldb::DescriptionLevel  description_level 
)
lldb::SBFileSpec lldb::SBTarget::GetExecutable ( )
lldb::SBInstructionList lldb::SBTarget::GetInstructions ( lldb::SBAddress  base_addr,
const void *  buf,
size_t  size 
)
lldb::SBInstructionList lldb::SBTarget::GetInstructions ( lldb::addr_t  base_addr,
const void *  buf,
size_t  size 
)
lldb::SBInstructionList lldb::SBTarget::GetInstructionsWithFlavor ( lldb::SBAddress  base_addr,
const char *  flavor_string,
const void *  buf,
size_t  size 
)
lldb::SBInstructionList lldb::SBTarget::GetInstructionsWithFlavor ( lldb::addr_t  base_addr,
const char *  flavor_string,
const void *  buf,
size_t  size 
)
lldb::SBModule lldb::SBTarget::GetModuleAtIndex ( uint32_t  idx)
uint32_t lldb::SBTarget::GetNumBreakpoints ( ) const
uint32_t lldb::SBTarget::GetNumModules ( ) const
uint32_t lldb::SBTarget::GetNumWatchpoints ( ) const
lldb::SBProcess lldb::SBTarget::GetProcess ( )
SBSourceManager lldb::SBTarget::GetSourceManager ( )
lldb::TargetSP lldb::SBTarget::GetSP ( ) const
protected
lldb::addr_t lldb::SBTarget::GetStackRedZoneSize ( )
const char* lldb::SBTarget::GetTriple ( )
lldb::SBWatchpoint lldb::SBTarget::GetWatchpointAtIndex ( uint32_t  idx) const
bool lldb::SBTarget::IsValid ( ) const
lldb::SBProcess lldb::SBTarget::Launch ( SBListener listener,
char const **  argv,
char const **  envp,
const char *  stdin_path,
const char *  stdout_path,
const char *  stderr_path,
const char *  working_directory,
uint32_t  launch_flags,
bool  stop_at_entry,
lldb::SBError error 
)

Launch a new process.

Launch a new process by spawning a new process using the target object's executable module's file as the file to launch. Arguments are given in argv, and the environment variables are in envp. Standard input and output files can be optionally re-directed to stdin_path, stdout_path, and stderr_path.

Parameters
[in]listenerAn optional listener that will receive all process events. If listener is valid then listener will listen to all process events. If not valid, then this target's debugger (SBTarget::GetDebugger()) will listen to all process events.
[in]argvThe argument array.
[in]envpThe environment array.
[in]launch_flagsFlags to modify the launch (
See Also
lldb::LaunchFlags)
Parameters
[in]stdin_pathThe path to use when re-directing the STDIN of the new process. If all stdXX_path arguments are NULL, a pseudo terminal will be used.
[in]stdout_pathThe path to use when re-directing the STDOUT of the new process. If all stdXX_path arguments are NULL, a pseudo terminal will be used.
[in]stderr_pathThe path to use when re-directing the STDERR of the new process. If all stdXX_path arguments are NULL, a pseudo terminal will be used.
[in]working_directoryThe working directory to have the child process run in
[in]launch_flagsSome launch options specified by logical OR'ing lldb::LaunchFlags enumeration values together.
[in]stop_at_endtryIf false do not stop the inferior at the entry point.
[out]Anerror object. Contains the reason if there is some failure.
Returns
A process object for the newly created process.
SBProcess lldb::SBTarget::Launch ( SBLaunchInfo launch_info,
SBError error 
)
SBProcess lldb::SBTarget::LaunchSimple ( const char **  argv,
const char **  envp,
const char *  working_directory 
)

Launch a new process with sensible defaults.

Parameters
[in]argvThe argument array.
[in]envpThe environment array.
[in]working_directoryThe working directory to have the child process run in

Default: listener Set to the target's debugger (SBTarget::GetDebugger())

Default: launch_flags Empty launch flags

Default: stdin_path Default: stdout_path Default: stderr_path A pseudo terminal will be used.

Returns
A process object for the newly created process.
SBProcess lldb::SBTarget::LoadCore ( const char *  core_file)
bool lldb::SBTarget::operator!= ( const lldb::SBTarget rhs) const
const lldb::SBTarget& lldb::SBTarget::operator= ( const lldb::SBTarget rhs)
bool lldb::SBTarget::operator== ( const lldb::SBTarget rhs) const
lldb::SBInstructionList lldb::SBTarget::ReadInstructions ( lldb::SBAddress  base_addr,
uint32_t  count 
)
lldb::SBInstructionList lldb::SBTarget::ReadInstructions ( lldb::SBAddress  base_addr,
uint32_t  count,
const char *  flavor_string 
)
bool lldb::SBTarget::RemoveModule ( lldb::SBModule  module)
lldb::SBAddress lldb::SBTarget::ResolveLoadAddress ( lldb::addr_t  vm_addr)
SBSymbolContext lldb::SBTarget::ResolveSymbolContextForAddress ( const SBAddress addr,
uint32_t  resolve_scope 
)
lldb::SBError lldb::SBTarget::SetModuleLoadAddress ( lldb::SBModule  module,
int64_t  sections_offset 
)

Slide all file addresses for all module sections so that module appears to loaded at these slide addresses.

When you need all sections within a module to be loaded at a rigid slide from the addresses found in the module object file, this function will allow you to easily and quickly slide all module sections.

Parameters
[in]moduleThe module to load.
[in]sections_offsetAn offset that will be applied to all section file addresses (the virtual addresses found in the object file itself).
Returns
An error to indicate success, fail, and any reason for failure.
lldb::SBError lldb::SBTarget::SetSectionLoadAddress ( lldb::SBSection  section,
lldb::addr_t  section_base_addr 
)

Set the base load address for a module section.

Parameters
[in]sectionThe section whose base load address will be set within this target.
[in]section_base_addrThe base address for the section.
Returns
An error to indicate success, fail, and any reason for failure.
void lldb::SBTarget::SetSP ( const lldb::TargetSP &  target_sp)
protected
lldb::SBWatchpoint lldb::SBTarget::WatchAddress ( lldb::addr_t  addr,
size_t  size,
bool  read,
bool  write,
SBError error 
)

Friends And Related Function Documentation

friend class SBAddress
friend

Definition at line 794 of file SBTarget.h.

friend class SBBlock
friend

Definition at line 795 of file SBTarget.h.

friend class SBDebugger
friend

Definition at line 796 of file SBTarget.h.

friend class SBFunction
friend

Definition at line 797 of file SBTarget.h.

friend class SBInstruction
friend

Definition at line 798 of file SBTarget.h.

friend class SBModule
friend

Definition at line 799 of file SBTarget.h.

friend class SBProcess
friend

Definition at line 800 of file SBTarget.h.

friend class SBSection
friend

Definition at line 801 of file SBTarget.h.

friend class SBSourceManager
friend

Definition at line 802 of file SBTarget.h.

friend class SBSymbol
friend

Definition at line 803 of file SBTarget.h.

friend class SBValue
friend

Definition at line 804 of file SBTarget.h.


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