public class DummyDebugger extends DebuggerBase
heapOopSize, javaPrimitiveTypesConfigured, jbooleanSize, jbyteSize, jcharSize, jdoubleSize, jfloatSize, jintSize, jlongSize, jshortSize, klassPtrSize, narrowKlassBase, narrowKlassShift, narrowOopBase, narrowOopShift, oopSize, utils
Constructor and Description |
---|
DummyDebugger(MachineDescription machDesc) |
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.
|
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
|
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.
|
ThreadProxy |
getThreadForIdentifierAddress(Address addr)
Gets an abstract ThreadProxy object for the thread identified by
the contents of the memory location pointed to by addr.
|
ThreadProxy |
getThreadForThreadId(long id)
Gets an abstract ThreadProxy object for the thread identified by
id or handle that is platform dependent
|
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 |
lookup(java.lang.String objectName,
java.lang.String symbol)
Looks up the given symbol in the context of the given object.
|
OopHandle |
lookupOop(java.lang.String objectName,
java.lang.String symbol)
Looks up the given symbol in the context of the given object,
assuming that symbol refers to a Java object.
|
Address |
parseAddress(java.lang.String addrStr)
Parse an address from a hex string in the format "0xFFFFFFFF".
|
ReadResult |
readBytesFromProcess(long address,
long numBytes) |
void |
writeBytesToProcess(long a,
long b,
byte[] buf) |
checkConfigured, checkJavaConfigured, clearCache, configureJavaPrimitiveTypeSizes, disableCache, enableCache, getHeapOopSize, getJBooleanSize, getJByteSize, getJCharSize, getJDoubleSize, getJFloatSize, getJIntSize, getJLongSize, getJShortSize, getKlassPtrSize, getNarrowKlassBase, getNarrowKlassShift, getNarrowOopBase, getNarrowOopShift, initCache, invalidatePageCache, parseCacheNumPagesProperty, putHeapConst, readAddressValue, readBytes, readCInteger, readCompKlassAddressValue, readCompOopAddressValue, readJBoolean, readJByte, readJChar, readJDouble, readJFloat, readJInt, readJLong, readJShort, setBigEndian, writeAddressValue, writeBytes, writeCInteger, writeJBoolean, writeJByte, writeJChar, writeJDouble, writeJFloat, writeJInt, writeJLong, writeJShort
public DummyDebugger(MachineDescription machDesc)
public boolean hasProcessList() throws DebuggerException
Debugger
DebuggerException
public java.util.List getProcessList() throws DebuggerException
Debugger
DebuggerException
public void attach(int processID) throws DebuggerException
Debugger
DebuggerException
public void attach(java.lang.String executableName, java.lang.String coreFileName) throws DebuggerException
Debugger
DebuggerException
public boolean detach()
Debugger
public Address parseAddress(java.lang.String addrStr)
Debugger
public long getAddressValue(Address addr)
Debugger
public java.lang.String getOS()
Debugger
public java.lang.String getCPU()
Debugger
public MachineDescription getMachineDescription() throws DebuggerException
Debugger
DebuggerException
public boolean hasConsole()
Debugger
public java.lang.String consoleExecuteCommand(java.lang.String cmd) throws DebuggerException
Debugger
DebuggerException
public java.lang.String getConsolePrompt() throws DebuggerException
Debugger
DebuggerException
public CDebugger getCDebugger() throws DebuggerException
Debugger
DebuggerException
public Address lookup(java.lang.String objectName, java.lang.String symbol)
SymbolLookup
FIXME: we may want to hide the objectName so the user does not have to specify it, but it isn't clear whether this will work transparently with dbx.
FIXME: what happens if the address is not found? Throw exception? Currently returns null.
public OopHandle lookupOop(java.lang.String objectName, java.lang.String symbol)
SymbolLookup
FIXME: we may want to hide the objectName so the user does not have to specify it, but it isn't clear whether this will work transparently with dbx.
FIXME: what happens if the address is not found? Throw exception? Currently returns null.
public ThreadProxy getThreadForIdentifierAddress(Address addr)
ThreadAccess
public ThreadProxy getThreadForThreadId(long id)
ThreadAccess
public ReadResult readBytesFromProcess(long address, long numBytes) throws DebuggerException
DebuggerException
public void writeBytesToProcess(long a, long b, byte[] buf) throws DebuggerException
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.