C# Class LLDB.Value

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

Méthodes publiques

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

Protected Properties

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

Méthodes publiques

Méthode Description
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

Méthodes protégées

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

Private Methods

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

Method Details

AddressOf() public méthode

public AddressOf ( ) : LLDB.Value
Résultat LLDB.Value

Cast() public méthode

public Cast ( LLDB type ) : LLDB.Value
type LLDB
Résultat LLDB.Value

Clear() public méthode

public Clear ( ) : void
Résultat void

CreateChildAtOffset() public méthode

public CreateChildAtOffset ( string name, uint offset, LLDB type ) : LLDB.Value
name string
offset uint
type LLDB
Résultat LLDB.Value

CreateValueFromAddress() public méthode

public CreateValueFromAddress ( string name, ulong address, LLDB type ) : LLDB.Value
name string
address ulong
type LLDB
Résultat LLDB.Value

CreateValueFromData() public méthode

public CreateValueFromData ( string name, LLDB data, LLDB type ) : LLDB.Value
name string
data LLDB
type LLDB
Résultat LLDB.Value

CreateValueFromExpression() public méthode

public CreateValueFromExpression ( string name, string expression ) : LLDB.Value
name string
expression string
Résultat LLDB.Value

CreateValueFromExpression() public méthode

public CreateValueFromExpression ( string name, string expression, LLDB options ) : LLDB.Value
name string
expression string
options LLDB
Résultat LLDB.Value

Dereference() public méthode

public Dereference ( ) : LLDB.Value
Résultat LLDB.Value

Dispose() public méthode

public Dispose ( ) : void
Résultat void

Dispose() protected méthode

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

GetAddress() public méthode

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

GetChildAtIndex() public méthode

public GetChildAtIndex ( uint idx ) : LLDB.Value
idx uint
Résultat LLDB.Value

GetChildAtIndex() public méthode

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. ///
Résultat LLDB.Value

GetChildMemberWithName() public méthode

public GetChildMemberWithName ( string name ) : LLDB.Value
name string
Résultat LLDB.Value

GetChildMemberWithName() public méthode

public GetChildMemberWithName ( string name, LLDB use_dynamic ) : LLDB.Value
name string
use_dynamic LLDB
Résultat LLDB.Value

GetData() public méthode

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
Résultat LLDB.Data

GetDeclaration() public méthode

public GetDeclaration ( ) : LLDB.Declaration
Résultat LLDB.Declaration

GetDescription() public méthode

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

GetDynamicValue() public méthode

public GetDynamicValue ( LLDB use_dynamic ) : LLDB.Value
use_dynamic LLDB
Résultat LLDB.Value

GetError() public méthode

public GetError ( ) : LLDB.Error
Résultat LLDB.Error

GetExpressionPath() public méthode

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

GetExpressionPath() public méthode

public GetExpressionPath ( LLDB description, bool qualify_cxx_base_classes ) : bool
description LLDB
qualify_cxx_base_classes bool
Résultat bool

GetFrame() public méthode

public GetFrame ( ) : LLDB.Frame
Résultat LLDB.Frame

GetIndexOfChildWithName() public méthode

public GetIndexOfChildWithName ( string name ) : uint
name string
Résultat uint

GetNonSyntheticValue() public méthode

public GetNonSyntheticValue ( ) : LLDB.Value
Résultat LLDB.Value

GetNumChildren() public méthode

public GetNumChildren ( uint max ) : uint
max uint
Résultat uint

GetPointeeData() public méthode

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. ///
Résultat LLDB.Data

GetProcess() public méthode

public GetProcess ( ) : LLDB.Process
Résultat LLDB.Process

GetStaticValue() public méthode

public GetStaticValue ( ) : LLDB.Value
Résultat LLDB.Value

GetSummary() public méthode

public GetSummary ( LLDB stream, LLDB options ) : string
stream LLDB
options LLDB
Résultat string

GetTarget() public méthode

public GetTarget ( ) : LLDB.Target
Résultat LLDB.Target

GetThread() public méthode

public GetThread ( ) : LLDB.Thread
Résultat LLDB.Thread

GetType() public méthode

public GetType ( ) : LLDB.Type
Résultat LLDB.Type

GetTypeFilter() public méthode

public GetTypeFilter ( ) : LLDB.TypeFilter
Résultat LLDB.TypeFilter

GetTypeFormat() public méthode

public GetTypeFormat ( ) : LLDB.TypeFormat
Résultat LLDB.TypeFormat

GetTypeSummary() public méthode

public GetTypeSummary ( ) : LLDB.TypeSummary
Résultat LLDB.TypeSummary

GetTypeSynthetic() public méthode

public GetTypeSynthetic ( ) : LLDB.TypeSynthetic
Résultat LLDB.TypeSynthetic

GetValueAsSigned() public méthode

public GetValueAsSigned ( LLDB error, long fail_value ) : long
error LLDB
fail_value long
Résultat long

GetValueAsSigned() public méthode

public GetValueAsSigned ( long fail_value ) : long
fail_value long
Résultat long

GetValueAsUnsigned() public méthode

public GetValueAsUnsigned ( LLDB error, ulong fail_value ) : ulong
error LLDB
fail_value ulong
Résultat ulong

GetValueAsUnsigned() public méthode

public GetValueAsUnsigned ( ulong fail_value ) : ulong
fail_value ulong
Résultat ulong

GetValueForExpressionPath() public méthode

public GetValueForExpressionPath ( string expr_path ) : LLDB.Value
expr_path string
Résultat LLDB.Value

IsDynamic() public méthode

public IsDynamic ( ) : bool
Résultat bool

IsInScope() public méthode

public IsInScope ( ) : bool
Résultat bool

IsRuntimeSupportValue() public méthode

public IsRuntimeSupportValue ( ) : bool
Résultat bool

IsSynthetic() public méthode

public IsSynthetic ( ) : bool
Résultat bool

IsValid() public méthode

public IsValid ( ) : bool
Résultat bool

MightHaveChildren() public méthode

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
Résultat bool

Persist() public méthode

public Persist ( ) : LLDB.Value
Résultat LLDB.Value

SetData() public méthode

public SetData ( LLDB data, LLDB error ) : bool
data LLDB
error LLDB
Résultat bool

SetValueFromCString() public méthode

public SetValueFromCString ( string value_str ) : bool
value_str string
Résultat bool

SetValueFromCString() public méthode

public SetValueFromCString ( string value_str, LLDB error ) : bool
value_str string
error LLDB
Résultat bool

TypeIsPointerType() public méthode

public TypeIsPointerType ( ) : bool
Résultat bool

Value() public méthode

public Value ( ) : System
Résultat System

Value() public méthode

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

Value() protected méthode

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

Watch() public méthode

public Watch ( bool resolve_location, bool read, bool write ) : LLDB.Watchpoint
resolve_location bool
read bool
write bool
Résultat LLDB.Watchpoint

Watch() public méthode

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. ///
Résultat LLDB.Watchpoint

WatchPointee() public méthode

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. ///
Résultat LLDB.Watchpoint

__CreateInstance() public static méthode

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

__CreateInstance() public static méthode

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

Property Details

NativeToManagedMap public_oe static_oe property

public static System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap
Résultat Value>.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