Patent ID: 8806442

Claim:
A system comprising: a local debug proxy on a local side of a network boundary between a debugger comprising a Java Debug Platform Architecture (JDPA) front-end and a debuggee comprising a JDPA back-end; and a remote debug proxy on a remote side of the network boundary between the debugger and the debuggee, the remote debug proxy including a connector coupled with the local debug proxy; wherein the remote debug proxy is configured to perform operations comprising: receiving a first Java Debug Wire Protocol (JDWP) command, the first JDWP command having been sent from the debuggee to notify the debugger of an event in the debuggee and rerouted to the remote debug proxy, the first JDWP command including first information identifying the event; and determining an information collection strategy for collecting second information in response to receiving the first JDWP command, the second information including additional information pertaining to the event that the remote debug proxy anticipates that the debugger will request after receiving the first information; sending a plurality of additional JDPW commands to the debuggee in accordance with the information strategy, wherein each of the additional JDWP command requests a portion of the second information; receiving a plurality of JDPW replies rerouted to the remote debug proxy, each of the JDWP replies responding to a respective one of the additional JDWP commands and including a portion of the second information; collecting the second information by collecting each portion of the second information included in the JDWP replies; and packaging the first JDWP command and the second information into a JDWP extension command and sending the JDWP extension command to the local debug proxy on the local side of the network boundary; store the second information in the cache of the local debug proxy; and send a reply packet of the protocol to the debugger, the reply packet responding to the first command packet, the reply packet including the first information; and wherein the local debug proxy is configured to perform operations comprising: receiving the JDWP extension command from the remote debug proxy; storing the second information in a cache of the local debug proxy; and sending the JDWP command packet to the debugger.