Back to results
US 2021/0342252 A1Published application
Debugging a native compiled application from an integrated development environment
AssigneeRed Hat, Inc.
InventorsStuart Douglas, Jason Greene
Life of this patent
Estimating the term…
Abstract
A system includes a memory and processor in communication with the memory. The processor is configured to receive a connection request at an emulation layer from an integrated development environment (IDE). The emulation layer connects, via a socket connection, with the IDE. Using the socket connection, the emulation layer receives a command. The command is decoded to retrieve a parameter and a reference to a native application. The command is mapped to a native debugger command and then used to debug the native application using the native debugger.
Claims20
1:
- A system, comprising:
- a memory;
- and
- a processor in communication with the memory, wherein the processor is configured to perform:
- receiving a connection request at an emulation layer from an integrated development environment (IDE);
- connecting, via a socket connection, the emulation layer with the IDE;
- receiving, at the emulation layer, via the socket connection, a command to perform debugging on bytecode compiled from source code;
- decoding the command to retrieve a parameter and a reference to a native application, wherein both the bytecode and the native application are compiled from the same source code;
- mapping the command to a native debugger command;
- and
- invoking a native debugger to execute the native application using the native debugger command and the parameter as inputs.
8 more elements
2:
- The system of claim 1, wherein the processor is further configured perform:
- receiving a response from the native debugger;
- encoding the response from a debugger command from the second language to a corresponding debugger command from a first language;
- and
- sending, via the socket connection, the encoded response to the IDE.
2 more elements
3:
- The system of claim 1, wherein the command is a request for a break point at a location specified by the parameter.
4:
- The system of claim 1, wherein the command is a request for data at a location specified by the parameter.
5:
- The system of claim 1, wherein decoding comprises converting the parameter from a first language to a second language.
6:
- The system of claim 5, wherein the first language is bytecode.
7:
- The system of claim 5, wherein the second language is native CPU instructions.
8:
- The system of claim 1, wherein the command is a debug wire protocol command.
9:
- A method, comprising:
- receiving, at an emulation layer, a command to perform debugging on bytecode compiled from source code;
- converting the command from a first language to a native debugger command;
- executing a native application using the native debugger command as an input of a native debugger, wherein both the bytecode and the native application are compiled from the same source code;
- receiving a response from the native debugger;
- converting the response to the first language;
- and
- outputting the converted response.
5 more elements
10:
- The method of claim 9, wherein converting the command comprises:
- decoding the command to retrieve a parameter and a reference to a native application;
- and
- mapping the command to the native debugger command.
1 more element
11:
- The method of claim 10, wherein the command is a request for a break point at a location specified by the parameter.
12:
- The method of claim 10, wherein the command is a request for data at a location specified by the parameter.
13:
- The method of claim 9, wherein the first language is bytecode.
14:
- The method of claim 9, wherein the command is a debug wire protocol command.
15:
- A non-transitory machine readable medium storing code, which when executed by a processor is configured to:
- receive, at the emulation layer, via the socket connection, a command to perform debugging on bytecode compiled from source code;
- decode the command to retrieve a parameter and a reference to a native application, wherein both the bytecode and the native application are compiled from the same source code;
- map the command to a native debugger command;
- and
- invoke a native debugger to execute the native application using the native debugger command and the parameter as inputs.
3 more elements
16:
- The non-transitory machine readable medium of claim 15, wherein the code, when executed by a processor, is further configured to:
- receive a response from the native debugger;
- encode the response from a debugger command from a second language to a debugger command from a first language;
- and
- send, via the socket connection, the encoded response.
2 more elements
17:
- The non-transitory machine readable medium of claim 15, wherein the command is a request for a break point at a location specified by the parameter.
18:
- The non-transitory machine readable medium of claim 15, wherein the command is a request for data at a location specified by the parameter.
19:
- The non-transitory machine readable medium of claim 15, wherein decoding comprises:
- converting the parameter from a first language to a second language.
20:
- The non-transitory machine readable medium of claim 19, wherein the first language is bytecode.