C# Class LLDB.Module

Inheritance: IDisposable
Afficher le fichier Open project: tritao/LLDBSharp Class Usage Examples

Méthodes publiques

Свойство Type Description
NativeToManagedMap Module>.System.Collections.Concurrent.ConcurrentDictionary

Protected Properties

Свойство Type Description
__OriginalVTables void*[]
__PointerAdjustment int
__ownsNativeInstance bool

Méthodes publiques

Méthode Description
Clear ( ) : void
Dispose ( ) : void
Equals ( object obj ) : bool
FindFirstGlobalVariable ( LLDB target, string name ) : LLDB.Value

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

FindFirstType ( string name ) : LLDB.Type
FindFunctions ( string name, uint name_type_mask ) : LLDB.SymbolContextList

Find functions by name.

FindGlobalVariables ( LLDB target, string name, uint max_matches ) : LLDB.ValueList

Find global and static variables by name.

FindSection ( string sect_name ) : LLDB.Section
FindSymbol ( string name, LLDB type ) : LLDB.Symbol
FindSymbols ( string name, LLDB type ) : LLDB.SymbolContextList
FindTypes ( string type ) : LLDB.TypeList
GetBasicType ( LLDB type ) : LLDB.Type
GetCompileUnitAtIndex ( uint _0 ) : LLDB.CompileUnit
GetDescription ( LLDB description ) : bool
GetFileSpec ( ) : LLDB.FileSpec

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.

GetHashCode ( ) : int
GetObjectFileHeaderAddress ( ) : LLDB.Address
GetPlatformFileSpec ( ) : LLDB.FileSpec

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.

GetRemoteInstallFileSpec ( ) : LLDB.FileSpec

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.

GetSectionAtIndex ( uint idx ) : LLDB.Section
GetSymbolAtIndex ( uint idx ) : LLDB.Symbol
GetSymbolFileSpec ( ) : LLDB.FileSpec

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/'.

GetTypeByID ( ulong uid ) : LLDB.Type

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.

GetTypes ( uint type_mask ) : LLDB.TypeList

Get all types matching

from debug info in this

module.

GetVersion ( uint &versions, uint num_versions ) : uint

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

is NULL, or if

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

and

that

has enough storage to store some or all version numbers.

IsValid ( ) : bool
Module ( ) : System
Module ( LLDB rhs ) : System
Module ( LLDB process, ulong header_addr ) : System
ResolveFileAddress ( ulong vm_addr ) : LLDB.Address
ResolveSymbolContextForAddress ( LLDB addr, uint resolve_scope ) : LLDB.SymbolContext
SetPlatformFileSpec ( LLDB platform_file ) : bool
SetRemoteInstallFileSpec ( LLDB file ) : bool

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

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.

__CreateInstance ( Module native, bool skipVTables = false ) : Module
__CreateInstance ( global native, bool skipVTables = false ) : Module
operator ( ) : bool

Méthodes protégées

Méthode Description
Dispose ( bool disposing ) : void
Module ( void native, bool skipVTables = false ) : System

Private Methods

Méthode Description
Module ( Module native, bool skipVTables = false ) : System
__CopyValue ( Module native ) : void*

Method Details

Clear() public méthode

public Clear ( ) : void
Résultat void

Dispose() public méthode

public Dispose ( ) : void
Résultat void

Dispose() protected méthode

protected Dispose ( bool disposing ) : void
disposing bool
Résultat void

Equals() public méthode

public Equals ( object obj ) : bool
obj object
Résultat bool

FindFirstGlobalVariable() public méthode

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

public FindFirstGlobalVariable ( LLDB target, string name ) : LLDB.Value
target LLDB /// A valid SBTarget instance representing the debuggee. ///
name string /// The name of the global or static variable we are looking /// for. ///
Résultat LLDB.Value

FindFirstType() public méthode

public FindFirstType ( string name ) : LLDB.Type
name string
Résultat LLDB.Type

FindFunctions() public méthode

Find functions by name.

public FindFunctions ( string name, uint name_type_mask ) : LLDB.SymbolContextList
name string /// The name of the function we are looking for. ///
name_type_mask uint /// A 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. ///
Résultat LLDB.SymbolContextList

FindGlobalVariables() public méthode

Find global and static variables by name.

public FindGlobalVariables ( LLDB target, string name, uint max_matches ) : LLDB.ValueList
target LLDB /// A valid SBTarget instance representing the debuggee. ///
name string /// The name of the global or static variable we are looking /// for. ///
max_matches uint /// Allow the number of matches to be limited to ///
Résultat LLDB.ValueList

FindSection() public méthode

public FindSection ( string sect_name ) : LLDB.Section
sect_name string
Résultat LLDB.Section

FindSymbol() public méthode

public FindSymbol ( string name, LLDB type ) : LLDB.Symbol
name string
type LLDB
Résultat LLDB.Symbol

FindSymbols() public méthode

public FindSymbols ( string name, LLDB type ) : LLDB.SymbolContextList
name string
type LLDB
Résultat LLDB.SymbolContextList

FindTypes() public méthode

public FindTypes ( string type ) : LLDB.TypeList
type string
Résultat LLDB.TypeList

GetBasicType() public méthode

public GetBasicType ( LLDB type ) : LLDB.Type
type LLDB
Résultat LLDB.Type

GetCompileUnitAtIndex() public méthode

public GetCompileUnitAtIndex ( uint _0 ) : LLDB.CompileUnit
_0 uint
Résultat LLDB.CompileUnit

GetDescription() public méthode

public GetDescription ( LLDB description ) : bool
description LLDB
Résultat bool

GetFileSpec() public méthode

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.

public GetFileSpec ( ) : LLDB.FileSpec
Résultat LLDB.FileSpec

GetHashCode() public méthode

public GetHashCode ( ) : int
Résultat int

GetObjectFileHeaderAddress() public méthode

public GetObjectFileHeaderAddress ( ) : LLDB.Address
Résultat LLDB.Address

GetPlatformFileSpec() public méthode

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.

public GetPlatformFileSpec ( ) : LLDB.FileSpec
Résultat LLDB.FileSpec

GetRemoteInstallFileSpec() public méthode

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.

public GetRemoteInstallFileSpec ( ) : LLDB.FileSpec
Résultat LLDB.FileSpec

GetSectionAtIndex() public méthode

public GetSectionAtIndex ( uint idx ) : LLDB.Section
idx uint
Résultat LLDB.Section

GetSymbolAtIndex() public méthode

public GetSymbolAtIndex ( uint idx ) : LLDB.Symbol
idx uint
Résultat LLDB.Symbol

GetSymbolFileSpec() public méthode

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/'.

public GetSymbolFileSpec ( ) : LLDB.FileSpec
Résultat LLDB.FileSpec

GetTypeByID() public méthode

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.

public GetTypeByID ( ulong uid ) : LLDB.Type
uid ulong /// The type user ID. ///
Résultat LLDB.Type

GetTypes() public méthode

Get all types matching

from debug info in this

module.

public GetTypes ( uint type_mask ) : LLDB.TypeList
type_mask uint /// A 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. ///
Résultat LLDB.TypeList

GetVersion() public méthode

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

is NULL, or if

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

and

that

has enough storage to store some or all version numbers.

public GetVersion ( uint &versions, uint num_versions ) : uint
versions uint /// A pointer to an array of uint32_t types that is /// 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 /// of the /// existing versions numbers will be filled into /// If there is no version information available, /// will be filled with /// UINT32_MAX values /// and zero will be returned. ///
num_versions uint /// The maximum number of entries to fill into /// 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 /// /// to get all of the version numbers. If /// is less than the actual number of version /// numbers in this object file, only /// will be /// filled into /// (if /// is non-NULL). ///
Résultat uint

IsValid() public méthode

public IsValid ( ) : bool
Résultat bool

Module() public méthode

public Module ( ) : System
Résultat System

Module() public méthode

public Module ( LLDB rhs ) : System
rhs LLDB
Résultat System

Module() public méthode

public Module ( LLDB process, ulong header_addr ) : System
process LLDB
header_addr ulong
Résultat System

Module() protected méthode

protected Module ( void native, bool skipVTables = false ) : System
native void
skipVTables bool
Résultat System

ResolveFileAddress() public méthode

public ResolveFileAddress ( ulong vm_addr ) : LLDB.Address
vm_addr ulong
Résultat LLDB.Address

ResolveSymbolContextForAddress() public méthode

public ResolveSymbolContextForAddress ( LLDB addr, uint resolve_scope ) : LLDB.SymbolContext
addr LLDB
resolve_scope uint
Résultat LLDB.SymbolContext

SetPlatformFileSpec() public méthode

public SetPlatformFileSpec ( LLDB platform_file ) : bool
platform_file LLDB
Résultat bool

SetRemoteInstallFileSpec() public méthode

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

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.

public SetRemoteInstallFileSpec ( LLDB file ) : bool
file LLDB /// A file specification object. ///
Résultat bool

__CreateInstance() public static méthode

public static __CreateInstance ( Module native, bool skipVTables = false ) : Module
native Module
skipVTables bool
Résultat Module

__CreateInstance() public static méthode

public static __CreateInstance ( global native, bool skipVTables = false ) : Module
native global
skipVTables bool
Résultat Module

operator() public static méthode

public static operator ( ) : bool
Résultat bool

Property Details

NativeToManagedMap public_oe static_oe property

public static System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap
Résultat Module>.System.Collections.Concurrent.ConcurrentDictionary

__OriginalVTables protected_oe property

protected void*[] __OriginalVTables
Résultat void*[]

__PointerAdjustment protected_oe property

protected int __PointerAdjustment
Résultat int

__ownsNativeInstance protected_oe property

protected bool __ownsNativeInstance
Résultat bool