Modifier and Type | Field and Description |
---|---|
private MachineDescription |
Access | Constructor and Description |
---|---|
public |
Modifier and Type | Method and Description |
---|---|
pack-priv String | |
public void | attach(int processID)
Implements sun. |
public void | attach(String executableName, String coreFileName)
Implements sun. |
private int | |
public String | consoleExecuteCommand(String cmd)
Implements sun. |
public boolean | |
public long | getAddressValue(Address addr)
Implements sun. |
public CDebugger | getCDebugger()
Implements sun. |
public String | getConsolePrompt()
Implements sun. |
public String | |
public MachineDescription | getMachineDescription()
Implements sun. |
public String | |
public List | getProcessList()
Implements sun. |
public ThreadProxy | getThreadForIdentifierAddress(Address addr)
Implements sun. |
public ThreadProxy | getThreadForThreadId(long id)
Implements sun. |
public boolean | hasConsole()
Implements sun. |
public boolean | hasProcessList()
Implements sun. |
public Address | lookup(String objectName, String symbol)
Implements sun. |
public OopHandle | lookupOop(String objectName, String symbol)
Implements sun. |
public Address | parseAddress(String addrStr)
Implements sun. |
public ReadResult | readBytesFromProcess(long address, long numBytes)
Implements sun. |
machDesc | back to summary |
---|---|
private MachineDescription machDesc |
DummyDebugger | back to summary |
---|---|
public DummyDebugger(MachineDescription machDesc) |
addressToString | back to summary |
---|---|
pack-priv String addressToString(DummyAddress addr) |
attach | back to summary |
---|---|
public void attach(int processID) throws DebuggerException Implements sun. Doc from sun. 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. |
attach | back to summary |
---|---|
public void attach(String executableName, String coreFileName) throws DebuggerException Implements sun. Doc from sun. This attaches the debugger to the given coreFileName, which is assumed to have been generated from the specified executableName. If an error occurs during loading of the core file (i.e., "no such file"), the thrown DebuggerException will contain a description of the error in its message string. |
charToNibble | back to summary |
---|---|
private int charToNibble(char ascii) throws NumberFormatException |
consoleExecuteCommand | back to summary |
---|---|
public String consoleExecuteCommand(String cmd) throws DebuggerException Implements sun. Doc from sun. If the underlying debugger has a console (as dbx does), this provides access to it. Takes in a platform-dependent String, executes it on the debugger's console, and returns any output as a String. |
detach | back to summary |
---|---|
public boolean detach() Implements sun. Doc from sun. Detach from the remote process. Returns false if not currently attached. |
getAddressValue | back to summary |
---|---|
public long getAddressValue(Address addr) Implements sun. Doc from sun. Returns the 64-bit value of an Address. This method should ONLY be used when implementing a debugger which needs to interface to C and which needs a unique identifier for certain objects. |
getCDebugger | back to summary |
---|---|
public CDebugger getCDebugger() throws DebuggerException Implements sun. Doc from sun. If this platform supports C/C++ debugging via the CDebugger interface, returns a CDebugger object; otherwise returns null. |
getConsolePrompt | back to summary |
---|---|
public String getConsolePrompt() throws DebuggerException Implements sun. Doc from sun. If the underlying debugger has a console, this returns the debugger-specific prompt which should be displayed. |
getCPU | back to summary |
---|---|
public String getCPU() Implements sun. Doc from sun. Support for remote debugging. Get the name of the CPU type on which this debugger is running (to be able to properly configure the local system). Typical return value is "x86"; see utilities/PlatformInfo.java. |
getMachineDescription | back to summary |
---|---|
public MachineDescription getMachineDescription() throws DebuggerException Implements sun. Doc from sun. Retrieve the machine description for the underlying hardware for the cases in which we need to do, for example, machine-dependent byte swapping |
getOS | back to summary |
---|---|
public String getOS() Implements sun. Doc from sun. Support for remote debugging. Get the name of the operating system on which this debugger is running (to be able to properly configure the local system). Typical return values are "linux", "win32"; see utilities/PlatformInfo.java. |
getProcessList | back to summary |
---|---|
public List Implements sun. Doc from sun. Provide a snapshot of the list of currently-running processes in the form of a List of ProcessInfo objects. Must only be called if hasProcessList(), above, returns true. |
getThreadForIdentifierAddress | back to summary |
---|---|
public ThreadProxy getThreadForIdentifierAddress(Address addr) Implements sun. Doc from sun. Gets an abstract ThreadProxy object for the thread identified by the contents of the memory location pointed to by addr. The contents at location addr are inherently platform-dependent; see the documentation for this class for more information. FIXME: what exception, if any, should this throw? |
getThreadForThreadId | back to summary |
---|---|
public ThreadProxy getThreadForThreadId(long id) Implements sun. Doc from sun. Gets an abstract ThreadProxy object for the thread identified by id or handle that is platform dependent |
hasConsole | back to summary |
---|---|
public boolean hasConsole() Implements sun. Doc from sun. Find out whether this debugger has a console available on which commands can be executed; see executeCommandOnConsole, below. This is an interim routine designed to allow access to the underlying dbx process on Solaris until we have disassembly, etc. in the SA. |
hasProcessList | back to summary |
---|---|
public boolean hasProcessList() throws DebuggerException Implements sun. Doc from sun. Indicates whether this underlying debugger can provide a list of currently-running processes. |
lookup | back to summary |
---|---|
public Address lookup(String objectName, String symbol) Implements sun. Doc from sun. Looks up the given symbol in the context of the given object. 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. |
lookupOop | back to summary |
---|---|
public OopHandle lookupOop(String objectName, String symbol) Implements sun. Doc from sun. Looks up the given symbol in the context of the given object, assuming that symbol refers to a Java object. FIXME: still not sure whether this will be necessary. Seems that lookup of static fields with type "oop" already works, since the lookup routine returns the address of the oop (i.e., an oopDesc**). 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. |
parseAddress | back to summary |
---|---|
public Address parseAddress(String addrStr) Implements sun. Doc from sun. Parse an address from a hex string in the format "0xFFFFFFFF". The length of the address (i.e., 32 or 64 bits) is platform dependent. This method should ONLY be used by routines which need to interact with the user and parse a string entered by hand; for example, a graphical user interface. This routine should NOT be used to subvert the current safety mechanisms in the system which prevent arbitrary conversion from Address to long and back. |
readBytesFromProcess | back to summary |
---|---|
public ReadResult readBytesFromProcess(long address, long numBytes) throws DebuggerException Implements sun. |