APIdia Launch Partner
Top Description Methods
sun.jvm.hotspot.debugger.cdbg

public Interface CFrame

Known Direct Implementers
sun.jvm.hotspot.debugger.cdbg.basic.BasicCFrame
Imports
sun.jvm.hotspot.debugger.*, sun.jvm.hotspot.runtime.*, sun.jvm.hotspot.utilities.*

Models a "C" programming language frame on the stack -- really just an arbitrary frame with hooks to access C and C++ debug information if available. It is recommended that implementors of this interface derive from BasicCFrame, which provides some of the functionality.

Method Summary

Modifier and TypeMethod and Description
public BlockSym
blockForPC()

If debug information is available, retrieves the block in which the program counter lies.

public ClosestSymbol
closestSymbolToPC()

For the loadobject in which the PC lies, fetch the name of the closest exported symbol and the distance of the PC to that symbol.

public void
iterateLocals(ObjectVisitor v)

Visit all local variables in this frame if debug information is available.

public LoadObject
loadObjectForPC()

Get the loadobject in which the PC lies.

public Address
localVariableBase()

Gets the base pointer in this frame from which local variable offsets in the debug info are based.

public Address
pc()

Get the program counter of this frame

public CFrame
sender(ThreadProxy th)

Returns null when no more frames on stack

public default CFrame
sender(ThreadProxy th, Address senderSP, Address senderFP, Address senderPC)

Find sender frame with given FP and PC

public default Frame
toFrame()

Get Frame instance assosiated with this CFrame.

Method Detail

blockForPCback to summary
public BlockSym blockForPC()

If debug information is available, retrieves the block in which the program counter lies. Returns null if there is no debug information for the current program counter or if the PC could not be located for other reasons.

closestSymbolToPCback to summary
public ClosestSymbol closestSymbolToPC()

For the loadobject in which the PC lies, fetch the name of the closest exported symbol and the distance of the PC to that symbol. Returns null if the PC was not within any of the loadobjects of the target process. FIXME: specify whether this is mangled/demangled.

iterateLocalsback to summary
public void iterateLocals(ObjectVisitor v)

Visit all local variables in this frame if debug information is available. Automatically descends into compound types and arrays.

loadObjectForPCback to summary
public LoadObject loadObjectForPC()

Get the loadobject in which the PC lies. Returns null if the PC is not contained in any of the loadobjects in the target process.

localVariableBaseback to summary
public Address localVariableBase()

Gets the base pointer in this frame from which local variable offsets in the debug info are based. Typically this is the base-of-frame pointer (RBP on amd64, FP/I6 on SPARC).

pcback to summary
public Address pc()

Get the program counter of this frame

senderback to summary
public CFrame sender(ThreadProxy th)

Returns null when no more frames on stack

senderback to summary
public default CFrame sender(ThreadProxy th, Address senderSP, Address senderFP, Address senderPC)

Find sender frame with given FP and PC

toFrameback to summary
public default Frame toFrame()

Get Frame instance assosiated with this CFrame.