C# Class Mono.Debugger.Languages.TargetVariable

This interface provides information about a variable in the target application.
Inheritance: DebuggerMarshalByRefObject
Show file Open project: baulig/debugger Class Usage Examples

Public Methods

Method Description
GetObject ( StackFrame frame ) : TargetObject

Retrieve an instance of this variable from the stack-frame @frame. May only be called if Type.HasObject is true.

An instance of IVariable contains information about a variable (for instance a parameter of local variable of a method), but it's not bound to any particular target location. This also means that it won't get invalid after the target exited.

IsAlive ( TargetAddress address ) : bool

Checks whether the variable is alive at @address, but without actually trying to access the variable. The implementation just checks the data from the symbol file and - if appropriate - from the JIT to find out whether the specified address is within the variable's live range.

IsInScope ( TargetAddress address ) : bool

Checks whether the variable is accessible in the lexical scope around address @address, but without actually trying to access the variable.

PrintLocation ( StackFrame frame ) : string
SetObject ( StackFrame frame, TargetObject obj ) : void

Private Methods

Method Description
GetObject ( StackFrame frame, TargetMemoryAccess target ) : TargetObject

Method Details

GetObject() public method

Retrieve an instance of this variable from the stack-frame @frame. May only be called if Type.HasObject is true.
An instance of IVariable contains information about a variable (for instance a parameter of local variable of a method), but it's not bound to any particular target location. This also means that it won't get invalid after the target exited.
public GetObject ( StackFrame frame ) : TargetObject
frame StackFrame
return TargetObject

IsAlive() public abstract method

Checks whether the variable is alive at @address, but without actually trying to access the variable. The implementation just checks the data from the symbol file and - if appropriate - from the JIT to find out whether the specified address is within the variable's live range.
public abstract IsAlive ( TargetAddress address ) : bool
address TargetAddress
return bool

IsInScope() public abstract method

Checks whether the variable is accessible in the lexical scope around address @address, but without actually trying to access the variable.
public abstract IsInScope ( TargetAddress address ) : bool
address TargetAddress
return bool

PrintLocation() public abstract method

public abstract PrintLocation ( StackFrame frame ) : string
frame StackFrame
return string

SetObject() public abstract method

public abstract SetObject ( StackFrame frame, TargetObject obj ) : void
frame StackFrame
obj TargetObject
return void