APIdia Launch Partner
Top Fields Constructors Methods
sun.jvm.hotspot.debugger.linux

public Class DwarfCFrame

extends BasicCFrame
Class Inheritance
Known Direct Subclasses
sun.jvm.hotspot.debugger.linux.aarch64.LinuxAARCH64CFrame, sun.jvm.hotspot.debugger.linux.amd64.LinuxAMD64CFrame
Imports
sun.jvm.hotspot.debugger.Address, .ThreadProxy, .UnalignedAddressException, .UnmappedAddressException, sun.jvm.hotspot.debugger.cdbg.CFrame, .ClosestSymbol, sun.jvm.hotspot.debugger.cdbg.basic.BasicCFrame, sun.jvm.hotspot.runtime.VM

Field Summary

Modifier and TypeField and Description
private Address
private DwarfParser
private Address
private LinuxDebugger
private Address
private Address
private boolean

Constructor Summary

AccessConstructor and Description
protected
protected
DwarfCFrame(LinuxDebugger linuxDbg, Address sp, Address fp, Address cfa, Address pc, DwarfParser dwarf, boolean use1ByteBeforeToLookup)

Method Summary

Modifier and TypeMethod and Description
public ClosestSymbol
closestSymbolToPC()

Overrides sun.jvm.hotspot.debugger.cdbg.basic.BasicCFrame.closestSymbolToPC.

Implements sun.jvm.hotspot.debugger.cdbg.CFrame.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.

protected static DwarfParser
createDwarfParser(LinuxDebugger linuxDbg, Address pc)

Returns: DwarfParser instance for the PC, null if native library relates to the pc not found.

public DwarfParser
public Address
fp()

protected Address
getSenderFP(Address senderFP)

protected Address
getSenderPC(Address senderPC)

protected Address
getSenderSP(Address senderSP)

protected boolean
isValidFrame(Address senderCFA, Address senderFP)

public LinuxDebugger
public Address
localVariableBase()

Implements sun.jvm.hotspot.debugger.cdbg.CFrame.localVariableBase.

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

public Address
pc()

Implements sun.jvm.hotspot.debugger.cdbg.CFrame.pc.

Get the program counter of this frame

public CFrame
sender(ThreadProxy th)

Implements sun.jvm.hotspot.debugger.cdbg.CFrame.sender.

Returns null when no more frames on stack

public Address
sp()

Inherited from sun.jvm.hotspot.debugger.cdbg.basic.BasicCFrame:
blockForPCdbgiterateLocalsloadObjectForPC

Field Detail

cfaback to summary
private Address cfa
dwarfback to summary
private DwarfParser dwarf
fpback to summary
private Address fp
linuxDbgback to summary
private LinuxDebugger linuxDbg
pcback to summary
private Address pc
spback to summary
private Address sp
use1ByteBeforeToLookupback to summary
private boolean use1ByteBeforeToLookup

Constructor Detail

DwarfCFrameback to summary
protected DwarfCFrame(LinuxDebugger linuxDbg, Address sp, Address fp, Address cfa, Address pc, DwarfParser dwarf)
DwarfCFrameback to summary
protected DwarfCFrame(LinuxDebugger linuxDbg, Address sp, Address fp, Address cfa, Address pc, DwarfParser dwarf, boolean use1ByteBeforeToLookup)

Method Detail

closestSymbolToPCback to summary
public ClosestSymbol closestSymbolToPC()

Overrides sun.jvm.hotspot.debugger.cdbg.basic.BasicCFrame.closestSymbolToPC.

Implements sun.jvm.hotspot.debugger.cdbg.CFrame.closestSymbolToPC.

Doc from sun.jvm.hotspot.debugger.cdbg.CFrame.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.

Annotations
@Override
createDwarfParserback to summary
protected static DwarfParser createDwarfParser(LinuxDebugger linuxDbg, Address pc)
Returns:DwarfParser

DwarfParser instance for the PC, null if native library relates to the pc not found.

Exceptions
DebuggerException:
if DWARF processing is failed. For example: pc is not covered in this DWARF, Common Information Entry (CIE) has language personality routine and/or Language Data Area (LSDA).
dwarfback to summary
public DwarfParser dwarf()
fpback to summary
public Address fp()
getSenderFPback to summary
protected Address getSenderFP(Address senderFP)
getSenderPCback to summary
protected Address getSenderPC(Address senderPC)
getSenderSPback to summary
protected Address getSenderSP(Address senderSP)
isValidFrameback to summary
protected boolean isValidFrame(Address senderCFA, Address senderFP)
linuxDbgback to summary
public LinuxDebugger linuxDbg()
localVariableBaseback to summary
public Address localVariableBase()

Implements sun.jvm.hotspot.debugger.cdbg.CFrame.localVariableBase.

Doc from sun.jvm.hotspot.debugger.cdbg.CFrame.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).

Annotations
@Override
pcback to summary
public Address pc()

Implements sun.jvm.hotspot.debugger.cdbg.CFrame.pc.

Doc from sun.jvm.hotspot.debugger.cdbg.CFrame.pc.

Get the program counter of this frame

senderback to summary
public CFrame sender(ThreadProxy th)

Implements sun.jvm.hotspot.debugger.cdbg.CFrame.sender.

Doc from sun.jvm.hotspot.debugger.cdbg.CFrame.sender.

Returns null when no more frames on stack

Annotations
@Override
spback to summary
public Address sp()