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::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 GetBasicType (lldb::BasicType type)
lldb::SBTypeList GetTypes (uint32_t type_mask=lldb::eTypeClassAny)
uint32_t GetVersion (uint32_t *versions, uint32_t num_versions)

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::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::SBSection lldb::SBModule::GetSectionAtIndex ( size_t  idx)
lldb::SBSymbol lldb::SBModule::GetSymbolAtIndex ( size_t  idx)
const char* lldb::SBModule::GetTriple ( )
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)

Friends And Related Function Documentation

friend class SBAddress
friend

Definition at line 267 of file SBModule.h.

friend class SBFrame
friend

Definition at line 268 of file SBModule.h.

friend class SBSection
friend

Definition at line 269 of file SBModule.h.

friend class SBSymbolContext
friend

Definition at line 270 of file SBModule.h.

friend class SBTarget
friend

Definition at line 271 of file SBModule.h.


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