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

public Interface CDebugger

Known Direct Implementers
sun.jvm.hotspot.debugger.linux.LinuxCDebugger, sun.jvm.hotspot.debugger.windbg.WindbgCDebugger, sun.jvm.hotspot.debugger.bsd.BsdCDebugger
Imports
java.util.*, sun.jvm.hotspot.debugger.*

Interface describing how to debug C and C++ programs. Being kept very minimal and incomplete for now; can be extended later.

Method Summary

Modifier and TypeMethod and Description
public boolean
canDemangle()

is demangling of C++ symbols supported by this CDebugger?

public String
demangle(String sym)

Demangle C++ symbols into readable strings, if possible.

public List<LoadObject>
getLoadObjectList()

Return a list of LoadObjects in the target process.

public String
getNameOfFile(String fileName)

Get the file name component for the given full path to a DLL.

public ProcessControl
getProcessControl()

Fetch a ProcessControl object for the target process, enabling suspension, resumption and event handling.

public List<ThreadProxy>
getThreadList()

Fetch the thread list for the target process as a List of ThreadProxy objects.

public LoadObject
loadObjectContainingPC(Address pc)

Fetch the loadobject containing the current program counter.

public CFrame
topFrameForThread(ThreadProxy t)

Create a CFrame object for the top frame of the given thread, specified as a ThreadProxy.

Method Detail

canDemangleback to summary
public boolean canDemangle()

is demangling of C++ symbols supported by this CDebugger?

demangleback to summary
public String demangle(String sym) throws UnsupportedOperationException

Demangle C++ symbols into readable strings, if possible. otherwise returns the input symbol back.

getLoadObjectListback to summary
public List<LoadObject> getLoadObjectList() throws DebuggerException

Return a list of LoadObjects in the target process. Do not mutate this list. Throws DebuggerException if the target process is not suspended (via ProcessControl) or if the fetch failed for some other reason.

getNameOfFileback to summary
public String getNameOfFile(String fileName) throws DebuggerException

Get the file name component for the given full path to a DLL. (The path separator characters and behavior of File.getName() are platform-specific.)

getProcessControlback to summary
public ProcessControl getProcessControl() throws DebuggerException

Fetch a ProcessControl object for the target process, enabling suspension, resumption and event handling. This method may return null for many reasons, including that the underlying implementation does not support process interaction, or that the target process is dead (i.e., a core file).

getThreadListback to summary
public List<ThreadProxy> getThreadList() throws DebuggerException

Fetch the thread list for the target process as a List of ThreadProxy objects. Do not mutate this list. Throws DebuggerException if the target process is not suspended (via ProcessControl) or if the fetch failed for some other reason.

loadObjectContainingPCback to summary
public LoadObject loadObjectContainingPC(Address pc) throws DebuggerException

Fetch the loadobject containing the current program counter. Returns null if the PC was outside the ranges of all loadobjects in the target process. Throws DebuggerException if the target process is not suspended (via ProcessControl) or if the fetch failed for some other reason.

topFrameForThreadback to summary
public CFrame topFrameForThread(ThreadProxy t) throws DebuggerException, IllegalThreadStateException

Create a CFrame object for the top frame of the given thread, specified as a ThreadProxy. Returns null if there are no frames on the stack or the frame can not be created for some other reason. Throws DebuggerException if the target process is not suspended (via ProcessControl).