Remote debugging proxy
AssigneeSap SE
InventorsRichard Birenheide, Eckart Langhuth, Matthias Thorsten Metzler
Life of this patent
Estimating the term…
Abstract
An apparatus and method for a remote debugging proxy. An embodiment of a method for debugging a system includes receiving notification of an event regarding a target system at a first proxy component, requesting information from the target computing system regarding the event, and receiving the information from the target computing system. The event notification is transferred to a debugging component via a second proxy component, and the requested information is transferred to the second proxy component.
Claims16
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.
A method comprising:
- rerouting a first Java Debug Wire Protocol (JDWP) command through a remote debug proxy on a remote 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, the first JDWP command having been sent from the debuggee to notify the debugger of an event in the debuggee, the first JDWP command including first information identifying the event;
- determining an information collection strategy at the remote debug proxy for collecting second information in response to receiving the first JDWP command, the second information being 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 JDWP commands to the debuggee in accordance with the information collection strategy, wherein each of the additional JDWP commands requests a portion of the second information;
- rerouting a plurality of JDWP replies to the remote debug proxy, each of the plurality of 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;
- packaging the first JDWP command and the second information into a first JDWP extension command;
- sending the first JDWP extension command to the local debug proxy on the local side of the network boundary;
- storing the second information in a cache of the local debug proxy;
- and
- sending the first JDWP command from the local debug proxy to the debugger.
A non-transitory machine-readable medium having stored thereon data representing instructions that, when executed by a processor, cause the processor to perform operations comprising:
- rerouting a first Java Debug Wire Protocol (JDWP) command through a remote debug proxy on a remote side of a network boundary between a debugger comprising a Java Debug Platform Architecture (JDPA) front-end and a debuggee comprising a JPDA back-end, the first JDWP command having been sent from the debuggee to notify the debugger of an event in the debuggee, the first JDWP command including first information identifying the event;
- determining an information collection strategy at the remote debug proxy for collecting second information in response to receiving the first JDWP command, the second information being 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 JDWP commands to the debuggee in accordance with the information collection strategy, wherein each of the additional JDWP commands request a portion of the second information;
- rerouting a plurality of JDWP replies to the remote debug proxy, each of the JWDP 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;
- packaging the first JDWP command and the collected second information into a JDWP extension command;
- sending the first JDWP extension command to the local debug proxy on the local side of the network boundary;
- storing the second information in a cache of the local debug proxy;
- and
- sending the first JDWP command from the local debug proxy to the debugger.
Dependencies are inferred from the claim text.