LLDB API Documentation

Public Member Functions | Friends | List of all members
lldb::SBModule Class Reference

#include <SBModule.h>

Public Member Functions

 SBModule ()
 
 SBModule (const SBModule &rhs)
 
 SBModule (const SBModuleSpec &module_spec)
 
const SBModuleoperator= (const SBModule &rhs)
 
 SBModule (lldb::SBProcess &process, lldb::addr_t header_addr)
 
 ~SBModule ()
 
bool IsValid () const
 
void Clear ()
 
lldb::SBFileSpec GetFileSpec () const
 
lldb::SBFileSpec GetPlatformFileSpec () const
 
bool SetPlatformFileSpec (const lldb::SBFileSpec &platform_file)
 
lldb::SBFileSpec GetRemoteInstallFileSpec ()
 
bool SetRemoteInstallFileSpec (lldb::SBFileSpec &file)
 
lldb::ByteOrder GetByteOrder ()
 
uint32_t GetAddressByteSize ()
 
const char * GetTriple ()
 
const uint8_t * GetUUIDBytes () const
 
const char * GetUUIDString () const
 
bool operator== (const lldb::SBModule &rhs) const
 
bool operator!= (const lldb::SBModule &rhs) const
 
lldb::SBSection FindSection (const char *sect_name)
 
lldb::SBAddress ResolveFileAddress (lldb::addr_t vm_addr)
 
lldb::SBSymbolContext ResolveSymbolContextForAddress (const lldb::SBAddress &addr, uint32_t resolve_scope)
 
bool GetDescription (lldb::SBStream &description)
 
uint32_t GetNumCompileUnits ()
 
lldb::SBCompileUnit GetCompileUnitAtIndex (uint32_t)
 
size_t GetNumSymbols ()
 
lldb::SBSymbol GetSymbolAtIndex (size_t idx)
 
lldb::SBSymbol FindSymbol (const char *name, lldb::SymbolType type=eSymbolTypeAny)
 
lldb::SBSymbolContextList FindSymbols (const char *name, lldb::SymbolType type=eSymbolTypeAny)
 
size_t GetNumSections ()
 
lldb::SBSection GetSectionAtIndex (size_t idx)
 
lldb::SBSymbolContextList FindFunctions (const char *name, uint32_t name_type_mask=lldb::eFunctionNameTypeAny)
 
lldb::SBValueList FindGlobalVariables (lldb::SBTarget &target, const char *name, uint32_t max_matches)
 
lldb::SBValue FindFirstGlobalVariable (lldb::SBTarget &target, const char *name)
 
lldb::SBType FindFirstType (const char *name)
 
lldb::SBTypeList FindTypes (const char *type)
 
lldb::SBType GetTypeByID (lldb::user_id_t uid)
 
lldb::SBType GetBasicType (lldb::BasicType type)
 
lldb::SBTypeList GetTypes (uint32_t type_mask=lldb::eTypeClassAny)
 
uint32_t GetVersion (uint32_t *versions, uint32_t num_versions)
 
lldb::SBFileSpec GetSymbolFileSpec () const
 
lldb::SBAddress GetObjectFileHeaderAddress () const
 

Friends

class SBAddress
 
class SBFrame
 
class SBSection
 
class SBSymbolContext
 
class SBTarget
 

Detailed Description

Definition at line 21 of file SBModule.h.

Constructor & Destructor Documentation

lldb::SBModule::SBModule ( )
lldb::SBModule::SBModule ( const SBModule rhs)
lldb::SBModule::SBModule ( const SBModuleSpec module_spec)
lldb::SBModule::SBModule ( lldb::SBProcess process,
lldb::addr_t  header_addr 
)
lldb::SBModule::~SBModule ( )

Member Function Documentation

void lldb::SBModule::Clear ( )
lldb::SBValue lldb::SBModule::FindFirstGlobalVariable ( lldb::SBTarget target,
const char *  name 
)

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

Parameters
[in]targetA valid SBTarget instance representing the debuggee.
[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::SBModule::FindFirstType ( const char *  name)
lldb::SBSymbolContextList lldb::SBModule::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::SBModule::FindGlobalVariables ( lldb::SBTarget target,
const char *  name,
uint32_t  max_matches 
)

Find global and static variables by name.

Parameters
[in]targetA valid SBTarget instance representing the debuggee.
[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::SBSection lldb::SBModule::FindSection ( const char *  sect_name)
lldb::SBSymbol lldb::SBModule::FindSymbol ( const char *  name,
lldb::SymbolType  type = eSymbolTypeAny 
)
lldb::SBSymbolContextList lldb::SBModule::FindSymbols ( const char *  name,
lldb::SymbolType  type = eSymbolTypeAny 
)
lldb::SBTypeList lldb::SBModule::FindTypes ( const char *  type)
uint32_t lldb::SBModule::GetAddressByteSize ( )
lldb::SBType lldb::SBModule::GetBasicType ( lldb::BasicType  type)
lldb::ByteOrder lldb::SBModule::GetByteOrder ( )
lldb::SBCompileUnit lldb::SBModule::GetCompileUnitAtIndex ( uint32_t  )
bool lldb::SBModule::GetDescription ( lldb::SBStream description)
lldb::SBFileSpec lldb::SBModule::GetFileSpec ( ) const

Get const accessor for the module file specification.

This function returns the file for the module on the host system that is running LLDB. This can differ from the path on the platform since we might be doing remote debugging.

Returns
A const reference to the file specification object.
uint32_t lldb::SBModule::GetNumCompileUnits ( )
size_t lldb::SBModule::GetNumSections ( )
size_t lldb::SBModule::GetNumSymbols ( )
lldb::SBAddress lldb::SBModule::GetObjectFileHeaderAddress ( ) const
lldb::SBFileSpec lldb::SBModule::GetPlatformFileSpec ( ) const

Get accessor for the module platform file specification.

Platform file refers to the path of the module as it is known on the remote system on which it is being debugged. For local debugging this is always the same as Module::GetFileSpec(). But remote debugging might mention a file '/usr/lib/liba.dylib' which might be locally downloaded and cached. In this case the platform file could be something like: '/tmp/lldb/platform-cache/remote.host.computer/usr/lib/liba.dylib' The file could also be cached in a local developer kit directory.

Returns
A const reference to the file specification object.
lldb::SBFileSpec lldb::SBModule::GetRemoteInstallFileSpec ( )

Get accessor for the remote install path for a module.

When debugging to a remote platform by connecting to a remote platform, the install path of the module can be set. If the install path is set, every time the process is about to launch the target will install this module on the remote platform prior to launching.

Returns
A file specification object.
lldb::SBSection lldb::SBModule::GetSectionAtIndex ( size_t  idx)
lldb::SBSymbol lldb::SBModule::GetSymbolAtIndex ( size_t  idx)
lldb::SBFileSpec lldb::SBModule::GetSymbolFileSpec ( ) const

Get accessor for the symbol file specification.

When debugging an object file an additional debug information can be provided in separate file. Therefore if you debugging something like '/usr/lib/liba.dylib' then debug information can be located in folder like '/usr/lib/liba.dylib.dSYM/'.

Returns
A const reference to the file specification object.
const char* lldb::SBModule::GetTriple ( )
lldb::SBType lldb::SBModule::GetTypeByID ( lldb::user_id_t  uid)

Get a type using its type ID.

Each symbol file reader will assign different user IDs to their types, but it is sometimes useful when debugging type issues to be able to grab a type using its type ID.

For DWARF debug info, the type ID is the DIE offset.

Parameters
[in]uidThe type user ID.
Returns
An SBType for the given type ID, or an empty SBType if the type was not found.
lldb::SBTypeList lldb::SBModule::GetTypes ( uint32_t  type_mask = lldb::eTypeClassAny)

Get all types matching type_mask from debug info in this module.

Parameters
[in]type_maskA bitfield that consists of one or more bits logically OR'ed together from the lldb::TypeClass enumeration. This allows you to request only structure types, or only class, struct and union types. Passing in lldb::eTypeClassAny will return all types found in the debug information for this module.
Returns
A list of types in this module that match type_mask
const uint8_t* lldb::SBModule::GetUUIDBytes ( ) const
const char* lldb::SBModule::GetUUIDString ( ) const
uint32_t lldb::SBModule::GetVersion ( uint32_t *  versions,
uint32_t  num_versions 
)

Get the module version numbers.

Many object files have a set of version numbers that describe the version of the executable or shared library. Typically there are major, minor and build, but there may be more. This function will extract the versions from object files if they are available.

If versions is NULL, or if num_versions is 0, the return value will indicate how many version numbers are available in this object file. Then a subsequent call can be made to this function with a value of versions and num_versions that has enough storage to store some or all version numbers.

Parameters
[out]versionsA pointer to an array of uint32_t types that is num_versions long. If this value is NULL, the return value will indicate how many version numbers are required for a subsequent call to this function so that all versions can be retrieved. If the value is non-NULL, then at most num_versions of the existing versions numbers will be filled into versions. If there is no version information available, versions will be filled with num_versions UINT32_MAX values and zero will be returned.
[in]num_versionsThe maximum number of entries to fill into versions. If this value is zero, then the return value will indicate how many version numbers there are in total so another call to this function can be make with adequate storage in versions to get all of the version numbers. If num_versions is less than the actual number of version numbers in this object file, only num_versions will be filled into versions (if versions is non-NULL).
Returns
This function always returns the number of version numbers that this object file has regardless of the number of version numbers that were copied into versions.
bool lldb::SBModule::IsValid ( ) const
bool lldb::SBModule::operator!= ( const lldb::SBModule rhs) const
const SBModule& lldb::SBModule::operator= ( const SBModule rhs)
bool lldb::SBModule::operator== ( const lldb::SBModule rhs) const
lldb::SBAddress lldb::SBModule::ResolveFileAddress ( lldb::addr_t  vm_addr)
lldb::SBSymbolContext lldb::SBModule::ResolveSymbolContextForAddress ( const lldb::SBAddress addr,
uint32_t  resolve_scope 
)
bool lldb::SBModule::SetPlatformFileSpec ( const lldb::SBFileSpec platform_file)
bool lldb::SBModule::SetRemoteInstallFileSpec ( lldb::SBFileSpec file)

Set accessor for the remote install path for a module.

When debugging to a remote platform by connecting to a remote platform, the install path of the module can be set. If the install path is set, every time the process is about to launch the target will install this module on the remote platform prior to launching.

If file specifies a full path to an install location, the module will be installed to this path. If the path is relative (no directory specified, or the path is partial like "usr/lib" or "./usr/lib", then the install path will be resolved using the platform's current working directory as the base path.

Parameters
[in]fileA file specification object.

Friends And Related Function Documentation

friend class SBAddress
friend

Definition at line 299 of file SBModule.h.

friend class SBFrame
friend

Definition at line 300 of file SBModule.h.

friend class SBSection
friend

Definition at line 301 of file SBModule.h.

friend class SBSymbolContext
friend

Definition at line 302 of file SBModule.h.

friend class SBTarget
friend

Definition at line 303 of file SBModule.h.


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