C# 클래스 LLDB.Value

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

공개 프로퍼티들

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

보호된 프로퍼티들

프로퍼티 타입 설명
__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