public class IMachineDebugger extends IUnknown
Constructor and Description |
---|
IMachineDebugger(java.lang.String wrapped,
org.virtualbox_6_0.ObjectRefManager objMgr,
org.virtualbox_6_0.jaxws.VboxPortType port) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
detectOS()
Tries to (re-)detect the guest OS kernel.
|
void |
dumpGuestCore(java.lang.String filename,
java.lang.String compression)
Takes a core dump of the guest.
|
java.lang.String |
dumpGuestStack(java.lang.Long cpuId)
Produce a simple stack dump using the current guest state.
|
void |
dumpHostProcessCore(java.lang.String filename,
java.lang.String compression)
Takes a core dump of the VM process on the host.
|
void |
dumpStats(java.lang.String pattern)
Dumps VM statistics.
|
java.lang.Boolean |
getCSAMEnabled()
Switch for enabling and disabling the CSAM component.
|
java.lang.Boolean |
getExecuteAllInIEM()
Whether to execute all the code in the instruction interpreter.
|
VMExecutionEngine |
getExecutionEngine()
Gets the main execution engine of the VM.
|
java.lang.Boolean |
getHWVirtExEnabled()
Flag indicating whether the VM is currently making use of CPU hardware
virtualization extensions.
|
java.lang.Boolean |
getHWVirtExNestedPagingEnabled()
Flag indicating whether the VM is currently making use of the nested paging
CPU hardware virtualization extension.
|
java.lang.Boolean |
getHWVirtExUXEnabled()
Flag indicating whether the VM is currently making use of the
unrestricted execution feature of VT-x.
|
java.lang.Boolean |
getHWVirtExVPIDEnabled()
Flag indicating whether the VM is currently making use of the VPID
VT-x extension.
|
java.lang.String |
getLogDbgDestinations()
The debug logger's destination settings.
|
java.lang.String |
getLogDbgFlags()
The debug logger flags.
|
java.lang.String |
getLogDbgGroups()
The debug logger's group settings.
|
java.lang.Boolean |
getLogEnabled()
Switch for enabling and disabling the debug logger.
|
java.lang.String |
getLogRelDestinations()
The relase logger's destination settings.
|
java.lang.String |
getLogRelFlags()
The release logger flags.
|
java.lang.String |
getLogRelGroups()
The release logger's group settings.
|
java.lang.String |
getOSName()
Query the guest OS kernel name as detected by the DBGF.
|
java.lang.String |
getOSVersion()
Query the guest OS kernel version string as detected by the DBGF.
|
java.lang.Boolean |
getPAEEnabled()
Flag indicating whether the VM is currently making use of the Physical
Address Extension CPU feature.
|
java.lang.Boolean |
getPATMEnabled()
Switch for enabling and disabling the PATM component.
|
java.lang.Boolean |
getRecompileSupervisor()
Switch for forcing code recompilation for supervisor mode code.
|
java.lang.Boolean |
getRecompileUser()
Switch for forcing code recompilation for user mode code.
|
java.lang.String |
getRegister(java.lang.Long cpuId,
java.lang.String name)
Gets one register.
|
void |
getRegisters(java.lang.Long cpuId,
Holder<java.util.List<java.lang.String>> names,
Holder<java.util.List<java.lang.String>> values)
Gets all the registers for the given CPU.
|
java.lang.Boolean |
getSingleStep()
Switch for enabling single-stepping.
|
java.lang.String |
getStats(java.lang.String pattern,
java.lang.Boolean withDescriptions)
Get the VM statistics in a XMLish format.
|
java.lang.Long |
getUptime()
VM uptime in milliseconds, i.e.
|
java.lang.Long |
getVirtualTimeRate()
The rate at which the virtual time runs expressed as a percentage.
|
java.lang.String |
info(java.lang.String name,
java.lang.String args)
Interfaces with the info dumpers (DBGFInfo).
|
void |
injectNMI()
Inject an NMI into a running VT-x/AMD-V VM.
|
java.lang.String |
loadPlugIn(java.lang.String name)
Loads a DBGF plug-in.
|
void |
modifyLogDestinations(java.lang.String settings)
Modifies the debug or release logger destinations.
|
void |
modifyLogFlags(java.lang.String settings)
Modifies the debug or release logger flags.
|
void |
modifyLogGroups(java.lang.String settings)
Modifies the group settings of the debug or release logger.
|
static IMachineDebugger |
queryInterface(IUnknown obj) |
java.lang.String |
queryOSKernelLog(java.lang.Long maxMessages)
Tries to get the kernel log (dmesg) of the guest OS.
|
byte[] |
readPhysicalMemory(java.lang.Long address,
java.lang.Long size)
Reads guest physical memory, no side effects (MMIO++).
|
byte[] |
readVirtualMemory(java.lang.Long cpuId,
java.lang.Long address,
java.lang.Long size)
Reads guest virtual memory, no side effects (MMIO++).
|
void |
resetStats(java.lang.String pattern)
Reset VM statistics.
|
void |
setCSAMEnabled(java.lang.Boolean value)
Switch for enabling and disabling the CSAM component.
|
void |
setExecuteAllInIEM(java.lang.Boolean value)
Whether to execute all the code in the instruction interpreter.
|
void |
setLogEnabled(java.lang.Boolean value)
Switch for enabling and disabling the debug logger.
|
void |
setPATMEnabled(java.lang.Boolean value)
Switch for enabling and disabling the PATM component.
|
void |
setRecompileSupervisor(java.lang.Boolean value)
Switch for forcing code recompilation for supervisor mode code.
|
void |
setRecompileUser(java.lang.Boolean value)
Switch for forcing code recompilation for user mode code.
|
void |
setRegister(java.lang.Long cpuId,
java.lang.String name,
java.lang.String value)
Gets one register.
|
void |
setRegisters(java.lang.Long cpuId,
java.util.List<java.lang.String> names,
java.util.List<java.lang.String> values)
Sets zero or more registers atomically.
|
void |
setSingleStep(java.lang.Boolean value)
Switch for enabling single-stepping.
|
void |
setVirtualTimeRate(java.lang.Long value)
The rate at which the virtual time runs expressed as a percentage.
|
void |
unloadPlugIn(java.lang.String name)
Unloads a DBGF plug-in.
|
void |
writePhysicalMemory(java.lang.Long address,
java.lang.Long size,
byte[] bytes)
Writes guest physical memory, access handles (MMIO++) are ignored.
|
void |
writeVirtualMemory(java.lang.Long cpuId,
java.lang.Long address,
java.lang.Long size,
byte[] bytes)
Writes guest virtual memory, access handles (MMIO++) are ignored.
|
getObjMgr, getRemoteWSPort, getWrapped, releaseRemote
public IMachineDebugger(java.lang.String wrapped, org.virtualbox_6_0.ObjectRefManager objMgr, org.virtualbox_6_0.jaxws.VboxPortType port)
public java.lang.Boolean getSingleStep()
public void setSingleStep(java.lang.Boolean value)
value
- Booleanpublic java.lang.Boolean getRecompileUser()
public void setRecompileUser(java.lang.Boolean value)
value
- Booleanpublic java.lang.Boolean getRecompileSupervisor()
public void setRecompileSupervisor(java.lang.Boolean value)
value
- Booleanpublic java.lang.Boolean getExecuteAllInIEM()
public void setExecuteAllInIEM(java.lang.Boolean value)
value
- Booleanpublic java.lang.Boolean getPATMEnabled()
public void setPATMEnabled(java.lang.Boolean value)
value
- Booleanpublic java.lang.Boolean getCSAMEnabled()
public void setCSAMEnabled(java.lang.Boolean value)
value
- Booleanpublic java.lang.Boolean getLogEnabled()
public void setLogEnabled(java.lang.Boolean value)
value
- Booleanpublic java.lang.String getLogDbgFlags()
public java.lang.String getLogDbgGroups()
public java.lang.String getLogDbgDestinations()
public java.lang.String getLogRelFlags()
public java.lang.String getLogRelGroups()
public java.lang.String getLogRelDestinations()
public VMExecutionEngine getExecutionEngine()
public java.lang.Boolean getHWVirtExEnabled()
public java.lang.Boolean getHWVirtExNestedPagingEnabled()
public java.lang.Boolean getHWVirtExVPIDEnabled()
public java.lang.Boolean getHWVirtExUXEnabled()
public java.lang.String getOSName()
public java.lang.String getOSVersion()
public java.lang.Boolean getPAEEnabled()
public java.lang.Long getVirtualTimeRate()
public void setVirtualTimeRate(java.lang.Long value)
value
- Longpublic java.lang.Long getUptime()
public static IMachineDebugger queryInterface(IUnknown obj)
public void dumpGuestCore(java.lang.String filename, java.lang.String compression)
filename
- The name of the output file. The file must not exist.compression
- Reserved for future compression method indicator.public void dumpHostProcessCore(java.lang.String filename, java.lang.String compression)
filename
- The name of the output file. The file must not exist.compression
- Reserved for future compression method indicator.public java.lang.String info(java.lang.String name, java.lang.String args)
name
- The name of the info item.args
- Arguments to the info dumper.public void injectNMI()
public void modifyLogGroups(java.lang.String settings)
settings
- The group settings string. See iprt/log.h for details. To target the
release logger, prefix the string with "release:".public void modifyLogFlags(java.lang.String settings)
settings
- The flags settings string. See iprt/log.h for details. To target the
release logger, prefix the string with "release:".public void modifyLogDestinations(java.lang.String settings)
settings
- The destination settings string. See iprt/log.h for details. To target the
release logger, prefix the string with "release:".public byte[] readPhysicalMemory(java.lang.Long address, java.lang.Long size)
address
- The guest physical address.size
- The number of bytes to read.public void writePhysicalMemory(java.lang.Long address, java.lang.Long size, byte[] bytes)
address
- The guest physical address.size
- The number of bytes to read.bytes
- The bytes to write.public byte[] readVirtualMemory(java.lang.Long cpuId, java.lang.Long address, java.lang.Long size)
cpuId
- The identifier of the Virtual CPU.address
- The guest virtual address.size
- The number of bytes to read.public void writeVirtualMemory(java.lang.Long cpuId, java.lang.Long address, java.lang.Long size, byte[] bytes)
cpuId
- The identifier of the Virtual CPU.address
- The guest virtual address.size
- The number of bytes to read.bytes
- The bytes to write.public java.lang.String loadPlugIn(java.lang.String name)
name
- The plug-in name or DLL. Special name 'all' loads all installed plug-ins.public void unloadPlugIn(java.lang.String name)
name
- The plug-in name or DLL. Special name 'all' unloads all plug-ins.public java.lang.String detectOS()
public java.lang.String queryOSKernelLog(java.lang.Long maxMessages)
maxMessages
- Max number of messages to return, counting from the end of the
log. If 0, there is no limit.public java.lang.String getRegister(java.lang.Long cpuId, java.lang.String name)
cpuId
- The identifier of the Virtual CPU.name
- The register name, case is ignored.public void getRegisters(java.lang.Long cpuId, Holder<java.util.List<java.lang.String>> names, Holder<java.util.List<java.lang.String>> values)
cpuId
- The identifier of the Virtual CPU.names
- Array containing the lowercase register names.values
- Array parallel to the names holding the register values as if the
register was returned bygetRegister(Long,String)
.public void setRegister(java.lang.Long cpuId, java.lang.String name, java.lang.String value)
cpuId
- The identifier of the Virtual CPU.name
- The register name, case is ignored.value
- The new register value. Hexadecimal, decimal and octal formattings
are supported in addition to any special formattings returned by
the getters.public void setRegisters(java.lang.Long cpuId, java.util.List<java.lang.String> names, java.util.List<java.lang.String> values)
cpuId
- The identifier of the Virtual CPU.names
- Array containing the register names, case ignored.values
- Array paralell to the names holding the register values. SeesetRegister(Long,String,String)
for formatting
guidelines.public java.lang.String dumpGuestStack(java.lang.Long cpuId)
cpuId
- The identifier of the Virtual CPU.public void resetStats(java.lang.String pattern)
pattern
- The selection pattern. A bit similar to filename globbing.public void dumpStats(java.lang.String pattern)
pattern
- The selection pattern. A bit similar to filename globbing.public java.lang.String getStats(java.lang.String pattern, java.lang.Boolean withDescriptions)
pattern
- The selection pattern. A bit similar to filename globbing.withDescriptions
- Whether to include the descriptions.