C# 클래스 LLDB.Module

상속: IDisposable
파일 보기 프로젝트 열기: tritao/LLDBSharp 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
NativeToManagedMap Module>.System.Collections.Concurrent.ConcurrentDictionary

보호된 프로퍼티들

프로퍼티 타입 설명
__OriginalVTables void*[]
__PointerAdjustment int
__ownsNativeInstance bool

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
Dispose ( bool disposing ) : void
Module ( void native, bool skipVTables = false ) : System

비공개 메소드들

메소드 설명
Module ( Module native, bool skipVTables = false ) : System
__CopyValue ( Module native ) : void*

메소드 상세

Clear() 공개 메소드

public Clear ( ) : void
리턴 void

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

Dispose() 보호된 메소드

protected Dispose ( bool disposing ) : void
disposing bool
리턴 void

Equals() 공개 메소드

public Equals ( object obj ) : bool
obj object
리턴 bool

FindFirstGlobalVariable() 공개 메소드

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. ///
리턴 LLDB.Value

FindFirstType() 공개 메소드

public FindFirstType ( string name ) : LLDB.Type
name string
리턴 LLDB.Type

FindFunctions() 공개 메소드

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. ///
리턴 LLDB.SymbolContextList

FindGlobalVariables() 공개 메소드

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 ///
리턴 LLDB.ValueList

FindSection() 공개 메소드

public FindSection ( string sect_name ) : LLDB.Section
sect_name string
리턴 LLDB.Section

FindSymbol() 공개 메소드

public FindSymbol ( string name, LLDB type ) : LLDB.Symbol
name string
type LLDB
리턴 LLDB.Symbol

FindSymbols() 공개 메소드

public FindSymbols ( string name, LLDB type ) : LLDB.SymbolContextList
name string
type LLDB
리턴 LLDB.SymbolContextList

FindTypes() 공개 메소드

public FindTypes ( string type ) : LLDB.TypeList
type string
리턴 LLDB.TypeList

GetBasicType() 공개 메소드

public GetBasicType ( LLDB type ) : LLDB.Type
type LLDB
리턴 LLDB.Type

GetCompileUnitAtIndex() 공개 메소드

public GetCompileUnitAtIndex ( uint _0 ) : LLDB.CompileUnit
_0 uint
리턴 LLDB.CompileUnit

GetDescription() 공개 메소드

public GetDescription ( LLDB description ) : bool
description LLDB
리턴 bool

GetFileSpec() 공개 메소드

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
리턴 LLDB.FileSpec

GetHashCode() 공개 메소드

public GetHashCode ( ) : int
리턴 int

GetObjectFileHeaderAddress() 공개 메소드

public GetObjectFileHeaderAddress ( ) : LLDB.Address
리턴 LLDB.Address

GetPlatformFileSpec() 공개 메소드

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
리턴 LLDB.FileSpec

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.

public GetRemoteInstallFileSpec ( ) : LLDB.FileSpec
리턴 LLDB.FileSpec

GetSectionAtIndex() 공개 메소드

public GetSectionAtIndex ( uint idx ) : LLDB.Section
idx uint
리턴 LLDB.Section

GetSymbolAtIndex() 공개 메소드

public GetSymbolAtIndex ( uint idx ) : LLDB.Symbol
idx uint
리턴 LLDB.Symbol

GetSymbolFileSpec() 공개 메소드

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
리턴 LLDB.FileSpec

GetTypeByID() 공개 메소드

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. ///
리턴 LLDB.Type

GetTypes() 공개 메소드

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. ///
리턴 LLDB.TypeList

GetVersion() 공개 메소드

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). ///
리턴 uint

IsValid() 공개 메소드

public IsValid ( ) : bool
리턴 bool

Module() 공개 메소드

public Module ( ) : System
리턴 System

Module() 공개 메소드

public Module ( LLDB rhs ) : System
rhs LLDB
리턴 System

Module() 공개 메소드

public Module ( LLDB process, ulong header_addr ) : System
process LLDB
header_addr ulong
리턴 System

Module() 보호된 메소드

protected Module ( void native, bool skipVTables = false ) : System
native void
skipVTables bool
리턴 System

ResolveFileAddress() 공개 메소드

public ResolveFileAddress ( ulong vm_addr ) : LLDB.Address
vm_addr ulong
리턴 LLDB.Address

ResolveSymbolContextForAddress() 공개 메소드

public ResolveSymbolContextForAddress ( LLDB addr, uint resolve_scope ) : LLDB.SymbolContext
addr LLDB
resolve_scope uint
리턴 LLDB.SymbolContext

SetPlatformFileSpec() 공개 메소드

public SetPlatformFileSpec ( LLDB platform_file ) : bool
platform_file LLDB
리턴 bool

SetRemoteInstallFileSpec() 공개 메소드

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. ///
리턴 bool

__CreateInstance() 공개 정적인 메소드

public static __CreateInstance ( Module native, bool skipVTables = false ) : Module
native Module
skipVTables bool
리턴 Module

__CreateInstance() 공개 정적인 메소드

public static __CreateInstance ( global native, bool skipVTables = false ) : Module
native global
skipVTables bool
리턴 Module

operator() 공개 정적인 메소드

public static operator ( ) : bool
리턴 bool

프로퍼티 상세

NativeToManagedMap 공개적으로 정적으로 프로퍼티

public static System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap
리턴 Module>.System.Collections.Concurrent.ConcurrentDictionary

__OriginalVTables 보호되어 있는 프로퍼티

protected void*[] __OriginalVTables
리턴 void*[]

__PointerAdjustment 보호되어 있는 프로퍼티

protected int __PointerAdjustment
리턴 int

__ownsNativeInstance 보호되어 있는 프로퍼티

protected bool __ownsNativeInstance
리턴 bool