C# Класс LLDB.Value

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

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

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

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

Свойство Тип Описание
__OriginalVTables void*[]
__PointerAdjustment int
__ownsNativeInstance bool

Открытые методы

Метод Описание
AddressOf ( ) : LLDB.Value
Cast ( LLDB type ) : LLDB.Value
Clear ( ) : void
CreateChildAtOffset ( string name, uint offset, LLDB type ) : LLDB.Value
CreateValueFromAddress ( string name, ulong address, LLDB type ) : LLDB.Value
CreateValueFromData ( string name, LLDB data, LLDB type ) : LLDB.Value
CreateValueFromExpression ( string name, string expression ) : LLDB.Value
CreateValueFromExpression ( string name, string expression, LLDB options ) : LLDB.Value
Dereference ( ) : LLDB.Value
Dispose ( ) : void
GetAddress ( ) : LLDB.Address
GetChildAtIndex ( uint idx ) : LLDB.Value
GetChildAtIndex ( uint idx, LLDB use_dynamic, bool can_create_synthetic ) : LLDB.Value

Get a child value by index from a value.

Structs, unions, classes, arrays and pointers have child

values that can be access by index.

Structs and unions access child members using a zero based index

for each child member. For

Classes reserve the first indexes for base classes that have

members (empty base classes are omitted), and all members of the

current class will then follow the base classes.

Pointers differ depending on what they point to. If the pointer

points to a simple type, the child at index zero

is the only child value available, unless

is

in which case the pointer will be used as an array

and can create 'synthetic' child values using positive or

negative indexes. If the pointer points to an aggregate type

(an array, class, union, struct), then the pointee is

transparently skipped and any children are going to be the indexes

of the child values within the aggregate type. For example if

we have a 'Point' type and we have a SBValue that contains a

pointer to a 'Point' type, then the child at index zero will be

the 'x' member, and the child at index 1 will be the 'y' member

(the child at index zero won't be a 'Point' instance).

If you actually need an SBValue that represents the type pointed

to by a SBValue for which GetType().IsPointeeType() returns true,

regardless of the pointee type, you can do that with SBValue::Dereference.

Arrays have a preset number of children that can be accessed by

index and will returns invalid child values for indexes that are

out of bounds unless the

is

In this

case the array can create 'synthetic' child values for indexes

that aren't in the array bounds using positive or negative

indexes.

GetChildMemberWithName ( string name ) : LLDB.Value
GetChildMemberWithName ( string name, LLDB use_dynamic ) : LLDB.Value
GetData ( ) : LLDB.Data

Get an SBData wrapping the contents of this SBValue.

This method will read the contents of this object in memory

and copy them into an SBData for future use.

GetDeclaration ( ) : LLDB.Declaration
GetDescription ( LLDB description ) : bool
GetDynamicValue ( LLDB use_dynamic ) : LLDB.Value
GetError ( ) : LLDB.Error
GetExpressionPath ( LLDB description ) : bool
GetExpressionPath ( LLDB description, bool qualify_cxx_base_classes ) : bool
GetFrame ( ) : LLDB.Frame
GetIndexOfChildWithName ( string name ) : uint
GetNonSyntheticValue ( ) : LLDB.Value
GetNumChildren ( uint max ) : uint
GetPointeeData ( uint item_idx, uint item_count ) : LLDB.Data

Get an SBData wrapping what this SBValue points to.

This method will dereference the current SBValue, if its

data type is a T* or T[], and extract item_count elements

of type T from it, copying their contents in an SBData.

GetProcess ( ) : LLDB.Process
GetStaticValue ( ) : LLDB.Value
GetSummary ( LLDB stream, LLDB options ) : string
GetTarget ( ) : LLDB.Target
GetThread ( ) : LLDB.Thread
GetType ( ) : LLDB.Type
GetTypeFilter ( ) : LLDB.TypeFilter
GetTypeFormat ( ) : LLDB.TypeFormat
GetTypeSummary ( ) : LLDB.TypeSummary
GetTypeSynthetic ( ) : LLDB.TypeSynthetic
GetValueAsSigned ( LLDB error, long fail_value ) : long
GetValueAsSigned ( long fail_value ) : long
GetValueAsUnsigned ( LLDB error, ulong fail_value ) : ulong
GetValueAsUnsigned ( ulong fail_value ) : ulong
GetValueForExpressionPath ( string expr_path ) : LLDB.Value
IsDynamic ( ) : bool
IsInScope ( ) : bool
IsRuntimeSupportValue ( ) : bool
IsSynthetic ( ) : bool
IsValid ( ) : bool
MightHaveChildren ( ) : bool

Find out if a SBValue might have children.

This call is much more efficient than GetNumChildren() as it

doesn't need to complete the underlying type. This is designed

to be used in a UI environment in order to detect if the

disclosure triangle should be displayed or not.

This function returns true for class, union, structure,

pointers, references, arrays and more. Again, it does so without

doing any expensive type completion.

Persist ( ) : LLDB.Value
SetData ( LLDB data, LLDB error ) : bool
SetValueFromCString ( string value_str ) : bool
SetValueFromCString ( string value_str, LLDB error ) : bool
TypeIsPointerType ( ) : bool
Value ( ) : System
Value ( LLDB rhs ) : System
Watch ( bool resolve_location, bool read, bool write ) : LLDB.Watchpoint
Watch ( bool resolve_location, bool read, bool write, LLDB error ) : LLDB.Watchpoint

Watch this value if it resides in memory.

Sets a watchpoint on the value.

WatchPointee ( bool resolve_location, bool read, bool write, LLDB error ) : LLDB.Watchpoint

Watch this value that this value points to in memory

Sets a watchpoint on the value.

__CreateInstance ( Value native, bool skipVTables = false ) : Value
__CreateInstance ( global native, bool skipVTables = false ) : Value

Защищенные методы

Метод Описание
Dispose ( bool disposing ) : void
Value ( void native, bool skipVTables = false ) : System

Приватные методы

Метод Описание
Value ( Value native, bool skipVTables = false ) : System
__CopyValue ( Value native ) : void*

Описание методов

AddressOf() публичный Метод

public AddressOf ( ) : LLDB.Value
Результат LLDB.Value

Cast() публичный Метод

public Cast ( LLDB type ) : LLDB.Value
type LLDB
Результат LLDB.Value

Clear() публичный Метод

public Clear ( ) : void
Результат void

CreateChildAtOffset() публичный Метод

public CreateChildAtOffset ( string name, uint offset, LLDB type ) : LLDB.Value
name string
offset uint
type LLDB
Результат LLDB.Value

CreateValueFromAddress() публичный Метод

public CreateValueFromAddress ( string name, ulong address, LLDB type ) : LLDB.Value
name string
address ulong
type LLDB
Результат LLDB.Value

CreateValueFromData() публичный Метод

public CreateValueFromData ( string name, LLDB data, LLDB type ) : LLDB.Value
name string
data LLDB
type LLDB
Результат LLDB.Value

CreateValueFromExpression() публичный Метод

public CreateValueFromExpression ( string name, string expression ) : LLDB.Value
name string
expression string
Результат LLDB.Value

CreateValueFromExpression() публичный Метод

public CreateValueFromExpression ( string name, string expression, LLDB options ) : LLDB.Value
name string
expression string
options LLDB
Результат LLDB.Value

Dereference() публичный Метод

public Dereference ( ) : LLDB.Value
Результат LLDB.Value

Dispose() публичный Метод

public Dispose ( ) : void
Результат void

Dispose() защищенный Метод

protected Dispose ( bool disposing ) : void
disposing bool
Результат void

GetAddress() публичный Метод

public GetAddress ( ) : LLDB.Address
Результат LLDB.Address

GetChildAtIndex() публичный Метод

public GetChildAtIndex ( uint idx ) : LLDB.Value
idx uint
Результат LLDB.Value

GetChildAtIndex() публичный Метод

Get a child value by index from a value.

Structs, unions, classes, arrays and pointers have child

values that can be access by index.

Structs and unions access child members using a zero based index

for each child member. For

Classes reserve the first indexes for base classes that have

members (empty base classes are omitted), and all members of the

current class will then follow the base classes.

Pointers differ depending on what they point to. If the pointer

points to a simple type, the child at index zero

is the only child value available, unless

is

in which case the pointer will be used as an array

and can create 'synthetic' child values using positive or

negative indexes. If the pointer points to an aggregate type

(an array, class, union, struct), then the pointee is

transparently skipped and any children are going to be the indexes

of the child values within the aggregate type. For example if

we have a 'Point' type and we have a SBValue that contains a

pointer to a 'Point' type, then the child at index zero will be

the 'x' member, and the child at index 1 will be the 'y' member

(the child at index zero won't be a 'Point' instance).

If you actually need an SBValue that represents the type pointed

to by a SBValue for which GetType().IsPointeeType() returns true,

regardless of the pointee type, you can do that with SBValue::Dereference.

Arrays have a preset number of children that can be accessed by

index and will returns invalid child values for indexes that are

out of bounds unless the

is

In this

case the array can create 'synthetic' child values for indexes

that aren't in the array bounds using positive or negative

indexes.

public GetChildAtIndex ( uint idx, LLDB use_dynamic, bool can_create_synthetic ) : LLDB.Value
idx uint /// The index of the child value to get ///
use_dynamic LLDB /// An enumeration that specifies whether to get dynamic values, /// and also if the target can be run to figure out the dynamic /// type of the child value. ///
can_create_synthetic bool /// If /// then allow child values to be created by index /// for pointers and arrays for indexes that normally wouldn't /// be allowed. ///
Результат LLDB.Value

GetChildMemberWithName() публичный Метод

public GetChildMemberWithName ( string name ) : LLDB.Value
name string
Результат LLDB.Value

GetChildMemberWithName() публичный Метод

public GetChildMemberWithName ( string name, LLDB use_dynamic ) : LLDB.Value
name string
use_dynamic LLDB
Результат LLDB.Value

GetData() публичный Метод

Get an SBData wrapping the contents of this SBValue.

This method will read the contents of this object in memory

and copy them into an SBData for future use.

public GetData ( ) : LLDB.Data
Результат LLDB.Data

GetDeclaration() публичный Метод

public GetDeclaration ( ) : LLDB.Declaration
Результат LLDB.Declaration

GetDescription() публичный Метод

public GetDescription ( LLDB description ) : bool
description LLDB
Результат bool

GetDynamicValue() публичный Метод

public GetDynamicValue ( LLDB use_dynamic ) : LLDB.Value
use_dynamic LLDB
Результат LLDB.Value

GetError() публичный Метод

public GetError ( ) : LLDB.Error
Результат LLDB.Error

GetExpressionPath() публичный Метод

public GetExpressionPath ( LLDB description ) : bool
description LLDB
Результат bool

GetExpressionPath() публичный Метод

public GetExpressionPath ( LLDB description, bool qualify_cxx_base_classes ) : bool
description LLDB
qualify_cxx_base_classes bool
Результат bool

GetFrame() публичный Метод

public GetFrame ( ) : LLDB.Frame
Результат LLDB.Frame

GetIndexOfChildWithName() публичный Метод

public GetIndexOfChildWithName ( string name ) : uint
name string
Результат uint

GetNonSyntheticValue() публичный Метод

public GetNonSyntheticValue ( ) : LLDB.Value
Результат LLDB.Value

GetNumChildren() публичный Метод

public GetNumChildren ( uint max ) : uint
max uint
Результат uint

GetPointeeData() публичный Метод

Get an SBData wrapping what this SBValue points to.

This method will dereference the current SBValue, if its

data type is a T* or T[], and extract item_count elements

of type T from it, copying their contents in an SBData.

public GetPointeeData ( uint item_idx, uint item_count ) : LLDB.Data
item_idx uint /// The index of the first item to retrieve. For an array /// this is equivalent to array[item_idx], for a pointer /// to *(pointer + item_idx). In either case, the measurement /// unit for item_idx is the sizeof(T) rather than the byte ///
item_count uint /// How many items should be copied into the output. By default /// only one item is copied, but more can be asked for. ///
Результат LLDB.Data

GetProcess() публичный Метод

public GetProcess ( ) : LLDB.Process
Результат LLDB.Process

GetStaticValue() публичный Метод

public GetStaticValue ( ) : LLDB.Value
Результат LLDB.Value

GetSummary() публичный Метод

public GetSummary ( LLDB stream, LLDB options ) : string
stream LLDB
options LLDB
Результат string

GetTarget() публичный Метод

public GetTarget ( ) : LLDB.Target
Результат LLDB.Target

GetThread() публичный Метод

public GetThread ( ) : LLDB.Thread
Результат LLDB.Thread

GetType() публичный Метод

public GetType ( ) : LLDB.Type
Результат LLDB.Type

GetTypeFilter() публичный Метод

public GetTypeFilter ( ) : LLDB.TypeFilter
Результат LLDB.TypeFilter

GetTypeFormat() публичный Метод

public GetTypeFormat ( ) : LLDB.TypeFormat
Результат LLDB.TypeFormat

GetTypeSummary() публичный Метод

public GetTypeSummary ( ) : LLDB.TypeSummary
Результат LLDB.TypeSummary

GetTypeSynthetic() публичный Метод

public GetTypeSynthetic ( ) : LLDB.TypeSynthetic
Результат LLDB.TypeSynthetic

GetValueAsSigned() публичный Метод

public GetValueAsSigned ( LLDB error, long fail_value ) : long
error LLDB
fail_value long
Результат long

GetValueAsSigned() публичный Метод

public GetValueAsSigned ( long fail_value ) : long
fail_value long
Результат long

GetValueAsUnsigned() публичный Метод

public GetValueAsUnsigned ( LLDB error, ulong fail_value ) : ulong
error LLDB
fail_value ulong
Результат ulong

GetValueAsUnsigned() публичный Метод

public GetValueAsUnsigned ( ulong fail_value ) : ulong
fail_value ulong
Результат ulong

GetValueForExpressionPath() публичный Метод

public GetValueForExpressionPath ( string expr_path ) : LLDB.Value
expr_path string
Результат LLDB.Value

IsDynamic() публичный Метод

public IsDynamic ( ) : bool
Результат bool

IsInScope() публичный Метод

public IsInScope ( ) : bool
Результат bool

IsRuntimeSupportValue() публичный Метод

public IsRuntimeSupportValue ( ) : bool
Результат bool

IsSynthetic() публичный Метод

public IsSynthetic ( ) : bool
Результат bool

IsValid() публичный Метод

public IsValid ( ) : bool
Результат bool

MightHaveChildren() публичный Метод

Find out if a SBValue might have children.

This call is much more efficient than GetNumChildren() as it

doesn't need to complete the underlying type. This is designed

to be used in a UI environment in order to detect if the

disclosure triangle should be displayed or not.

This function returns true for class, union, structure,

pointers, references, arrays and more. Again, it does so without

doing any expensive type completion.

public MightHaveChildren ( ) : bool
Результат bool

Persist() публичный Метод

public Persist ( ) : LLDB.Value
Результат LLDB.Value

SetData() публичный Метод

public SetData ( LLDB data, LLDB error ) : bool
data LLDB
error LLDB
Результат bool

SetValueFromCString() публичный Метод

public SetValueFromCString ( string value_str ) : bool
value_str string
Результат bool

SetValueFromCString() публичный Метод

public SetValueFromCString ( string value_str, LLDB error ) : bool
value_str string
error LLDB
Результат bool

TypeIsPointerType() публичный Метод

public TypeIsPointerType ( ) : bool
Результат bool

Value() публичный Метод

public Value ( ) : System
Результат System

Value() публичный Метод

public Value ( LLDB rhs ) : System
rhs LLDB
Результат System

Value() защищенный Метод

protected Value ( void native, bool skipVTables = false ) : System
native void
skipVTables bool
Результат System

Watch() публичный Метод

public Watch ( bool resolve_location, bool read, bool write ) : LLDB.Watchpoint
resolve_location bool
read bool
write bool
Результат LLDB.Watchpoint

Watch() публичный Метод

Watch this value if it resides in memory.

Sets a watchpoint on the value.

public Watch ( bool resolve_location, bool read, bool write, LLDB error ) : LLDB.Watchpoint
resolve_location bool /// Resolve the location of this value once and watch its address. /// This value must currently be set to /// as watching all /// locations of a variable or a variable path is not yet supported, /// though we plan to support it in the future. ///
read bool /// Stop when this value is accessed. ///
write bool /// Stop when this value is modified ///
error LLDB /// An error object. Contains the reason if there is some failure. ///
Результат LLDB.Watchpoint

WatchPointee() публичный Метод

Watch this value that this value points to in memory

Sets a watchpoint on the value.

public WatchPointee ( bool resolve_location, bool read, bool write, LLDB error ) : LLDB.Watchpoint
resolve_location bool /// Resolve the location of this value once and watch its address. /// This value must currently be set to /// as watching all /// locations of a variable or a variable path is not yet supported, /// though we plan to support it in the future. ///
read bool /// Stop when this value is accessed. ///
write bool /// Stop when this value is modified ///
error LLDB /// An error object. Contains the reason if there is some failure. ///
Результат LLDB.Watchpoint

__CreateInstance() публичный статический Метод

public static __CreateInstance ( Value native, bool skipVTables = false ) : Value
native Value
skipVTables bool
Результат Value

__CreateInstance() публичный статический Метод

public static __CreateInstance ( global native, bool skipVTables = false ) : Value
native global
skipVTables bool
Результат Value

Описание свойств

NativeToManagedMap публичное статическое свойство

public static System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap
Результат Value>.System.Collections.Concurrent.ConcurrentDictionary

__OriginalVTables защищенное свойство

protected void*[] __OriginalVTables
Результат void*[]

__PointerAdjustment защищенное свойство

protected int __PointerAdjustment
Результат int

__ownsNativeInstance защищенное свойство

protected bool __ownsNativeInstance
Результат bool