A virtual machine targeted for debugging. More precisely, a {@link Mirror mirror} representing thecomposite state of the target VM. All other mirrors are associated with an instance of this interface. Access to all other mirrors is achieved directly or indirectly through an instance of this interface. Access to global VM properties and control of VM execution are supported directly by this interface.
Instances of this interface are created by instances of {@link com.sun.jdi.connect.Connector}. For example, an {@link com.sun.jdi.connect.AttachingConnector AttachingConnector}attaches to a target VM and returns its virtual machine mirror. A Connector will typically create a VirtualMachine by invoking the VirtualMachineManager's {@link com.sun.jdi.VirtualMachineManager#createVirtualMachine(Connection)}createVirtualMachine(Connection) method.
Note that a target VM launched by a launching connector is not guaranteed to be stable until after the {@link com.sun.jdi.event.VMStartEvent} has beenreceived.
Any method on VirtualMachine
which takes VirtualMachine
as an parameter may throw {@link com.sun.jdi.VMDisconnectedException} if the target VM isdisconnected and the {@link com.sun.jdi.event.VMDisconnectEvent} has been or isavailable to be read from the {@link com.sun.jdi.event.EventQueue}.
Any method on VirtualMachine
which takes VirtualMachine
as an parameter may throw {@link com.sun.jdi.VMOutOfMemoryException} if the target VM has run out of memory.
@author Robert Field
@author Gordon Hirsch
@author James McIlree
@since 1.3