C# Класс LLDB.Module

Наследование: IDisposable
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
NativeToManagedMap Module>.System.Collections.Concurrent.ConcurrentDictionary

Защищенные свойства (Protected)

Свойство Тип Описание
__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