Patent ID: 8336029

Claim:
A computer-implemented method comprising: establishing, by a debug monitor that is hosted on a first device, a first connection between the debug monitor and one or more debuggers that are hosted on the first device; establishing, by the debug monitor, a second connection between the debug monitor and one or more virtual machines that are hosted on a different, second device, using a debugger protocol, wherein the debug protocol is configured to communicate debug commands from the debug monitor to applications executed by the virtual machines; receiving, by the debug monitor and over the first connection, a debug command from one of the debuggers for debugging an application loaded on the virtual machines; transmitting, by the debug monitor and over the second connection, the debug command to the application loaded on the virtual machines; transmitting, by the debug monitor and over the second connection, a request to the virtual machines for current state information of the virtual machines, wherein the current state information of the virtual machines includes at least one state variable of the virtual machine on which the application is loaded; receiving by the debug monitor and in response to the request, a reply that includes information encoding current state of the virtual machines, the information including the at least one state variable; and outputting a representation of at least a portion of the information encoding the current state of the virtual machines for display to a user, the portion of information includes a virtual machine display area of a virtual machine selected from the virtual machines being connected and debugged, the virtual machine display area displays a thread identifier, a thread status, a system time, heap information, and a debug port associated with the selected virtual machine.