public interface Debugger extends SymbolLookup, ThreadAccess
Modifier and Type | Method and Description |
---|---|
void |
attach(int processID)
If an error occurs during attachment (i.e., "no such process"),
the thrown DebuggerException will contain a description of the
error in its message string.
|
void |
attach(java.lang.String executableName,
java.lang.String coreFileName)
This attaches the debugger to the given coreFileName, which is
assumed to have been generated from the specified
executableName.
|
java.lang.String |
consoleExecuteCommand(java.lang.String cmd)
If the underlying debugger has a console (as dbx does), this
provides access to it.
|
boolean |
detach()
Detach from the remote process.
|
long |
getAddressValue(Address addr)
Returns the 64-bit value of an Address.
|
CDebugger |
getCDebugger()
If this platform supports C/C++ debugging via the CDebugger
interface, returns a CDebugger object; otherwise returns
null.
|
java.lang.String |
getConsolePrompt()
If the underlying debugger has a console, this returns the
debugger-specific prompt which should be displayed.
|
java.lang.String |
getCPU()
Support for remote debugging.
|
long |
getHeapOopSize() |
long |
getJBooleanSize()
the following methods are intended only for RemoteDebuggerClient
|
long |
getJByteSize() |
long |
getJCharSize() |
long |
getJDoubleSize() |
long |
getJFloatSize() |
long |
getJIntSize() |
long |
getJLongSize() |
long |
getJShortSize() |
long |
getKlassPtrSize() |
MachineDescription |
getMachineDescription()
Retrieve the machine description for the underlying hardware for
the cases in which we need to do, for example, machine-dependent
byte swapping
|
long |
getNarrowKlassBase() |
int |
getNarrowKlassShift() |
long |
getNarrowOopBase() |
int |
getNarrowOopShift() |
java.lang.String |
getOS()
Support for remote debugging.
|
java.util.List |
getProcessList()
Provide a snapshot of the list of currently-running processes in
the form of a List of ProcessInfo objects.
|
boolean |
hasConsole()
Find out whether this debugger has a console available on which
commands can be executed; see executeCommandOnConsole, below.
|
boolean |
hasProcessList()
Indicates whether this underlying debugger can provide a list of
currently-running processes.
|
Address |
parseAddress(java.lang.String addressString)
Parse an address from a hex string in the format "0xFFFFFFFF".
|
ReadResult |
readBytesFromProcess(long address,
long numBytes) |
void |
writeBytesToProcess(long address,
long numBytes,
byte[] data) |
lookup, lookupOop
getThreadForIdentifierAddress, getThreadForThreadId
boolean hasProcessList() throws DebuggerException
DebuggerException
java.util.List getProcessList() throws DebuggerException
DebuggerException
void attach(int processID) throws DebuggerException
DebuggerException
void attach(java.lang.String executableName, java.lang.String coreFileName) throws DebuggerException
DebuggerException
boolean detach() throws DebuggerException
DebuggerException
Address parseAddress(java.lang.String addressString) throws java.lang.NumberFormatException, DebuggerException
java.lang.NumberFormatException
DebuggerException
long getAddressValue(Address addr) throws DebuggerException
DebuggerException
java.lang.String getOS() throws DebuggerException
DebuggerException
java.lang.String getCPU() throws DebuggerException
DebuggerException
MachineDescription getMachineDescription() throws DebuggerException
DebuggerException
boolean hasConsole() throws DebuggerException
DebuggerException
java.lang.String consoleExecuteCommand(java.lang.String cmd) throws DebuggerException
DebuggerException
java.lang.String getConsolePrompt() throws DebuggerException
DebuggerException
CDebugger getCDebugger() throws DebuggerException
DebuggerException
long getJBooleanSize()
long getJByteSize()
long getJCharSize()
long getJDoubleSize()
long getJFloatSize()
long getJIntSize()
long getJLongSize()
long getJShortSize()
long getHeapOopSize()
long getNarrowOopBase()
int getNarrowOopShift()
long getKlassPtrSize()
long getNarrowKlassBase()
int getNarrowKlassShift()
ReadResult readBytesFromProcess(long address, long numBytes) throws DebuggerException
DebuggerException
void writeBytesToProcess(long address, long numBytes, byte[] data) throws UnmappedAddressException, DebuggerException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.