IP Library › Granted Patent US 12,135,634
Granted Patent B2
US 12,135,634 · App. 18/114,631 · Granted Nov 5, 2024

Dynamic tracing of variables at runtime

Inventors: Umesh K (Bangalore, IN); Jovin Jijo (Thrissur, IN)
Assignee: SAP SE
G06F11/364
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,135,634
App. No.
18/114,631
Granted
Nov 5, 2024
Kind
B2
Abstract

A computer system may receive a user input associated with a source code file via a first user interface displayed a first computing device, where the source code file comprising source code of a software application. The computer system may then obtain a tracing configuration based on the user input, where the tracing configuration comprises a line number of the source code and a variable within the source code. Next, the computer system may set a breakpoint in the source code at the line number using the tracing configuration, and then trace the variable during execution of the source code, where the tracing comprises determining a value of the variable using the breakpoint in the source code and creating a call stack based on the execution of the source code. The computer system may then store the value of the variable and the call stack in a log.

Claims (52)

1. A computer-implemented method performed by a computer system comprising a memory and at least one hardware processor, the computer-implemented method comprising:

storing a template in a data store, the template comprising a tracing configuration and a description of the template, the description indicating that use of the template comprises tracing of a variable;

displaying, within a first user interface displayed on a first computing device, a selectable user interface element in association with the description of the template;

receiving a user input associated with a source code file via the first user interface, the source code file comprising source code of a software application, the user input comprising a user selection of the selectable user interface element;

retrieving the tracing configuration from the template in the data store based on the user selection of the selectable user interface element, the tracing configuration comprising a line number of the source code and the variable within the source code;

setting a breakpoint in the source code at the line number using the tracing configuration;

tracing the variable during execution of the source code, the tracing comprising determining a value of the variable using the breakpoint in the source code and creating a call stack based on the execution of the source code; and

storing the value of the variable and the call stack in a log.

2. The computer-implemented method of claim 1 , further comprising:

retrieving the value of the variable and the call stack from the log; and

displaying the value of the variable and the call stack on the first computing device or on a second computing device different from the first computing device.

3. The computer-implemented method of claim 1 , wherein the user input comprises the tracing configuration.

4. The computer-implemented method of claim 1 , further comprising:

displaying a second user interface on a second computing device;

receiving the tracing configuration and the description of the template via the second user interface; and

creating the template based on the tracing configuration and the description of the template received via the second user interface.

5. The computer-implemented method of claim 1 , wherein the variable comprises a global variable.

6. The computer-implemented method of claim 1 , wherein the variable comprises a stack variable.

7. The computer-implemented method of claim 1 , wherein the software application is a multi-tenant application.

8. A system of comprising:

at least one hardware processor; and

a non-transitory computer-readable medium storing executable instructions that, when executed, cause the at least one hardware processor to perform computer operations comprising:

storing a template in a data store, the template comprising a tracing configuration and a description of the template, the description indicating that use of the template comprises tracing of a variable;

displaying, within a first user interface displayed on a first computing device, a selectable user interface element in association with the description of the template;

receiving a user input associated with a source code file via the first user interface, the source code file comprising source code of a software application, the user input comprising a user selection of the selectable user interface element;

retrieving the tracing configuration from the template in the data store based on the user selection of the selectable user interface element, the tracing configuration comprising a line number of the source code and the variable within the source code;

setting a breakpoint in the source code at the line number using the tracing configuration;

tracing the variable during execution of the source code, the tracing comprising determining a value of the variable using the breakpoint in the source code and creating a call stack based on the execution of the source code; and

storing the value of the variable and the call stack in a log.

9. The system of claim 8 , wherein the computer operations further comprise:

retrieving the value of the variable and the call stack from the log; and

displaying the value of the variable and the call stack on the first computing device or on a second computing device different from the first computing device.

10. The system of claim 8 , wherein the user input comprises the tracing configuration.

11. The system of claim 8 , wherein the computer operations further comprise:

displaying a second user interface on a second computing device;

receiving the tracing configuration and the description of the template via the second user interface; and

creating the template based on the tracing configuration and the description of the template received via the second user interface.

12. The system of claim 8 , wherein the variable comprises a global variable.

13. The system of claim 8 , wherein the variable comprises a stack variable.

14. The system of claim 8 , wherein the software application is a multi-tenant application.

15. A non-transitory machine-readable storage medium tangibly embodying a set of instructions that, when executed by at least one hardware processor, causes the at least one processor to perform computer operations comprising:

storing a template in a data store, the template comprising a tracing configuration and a description of the template, the description indicating that use of the template comprises tracing of a variable;

displaying, within a first user interface displayed on a first computing device, a selectable user interface element in association with the description of the template;

receiving a user input associated with a source code file via the first user interface, the source code file comprising source code of a software application, the user input comprising a user selection of the selectable user interface element;

retrieving the tracing configuration from the template in the data store based on the user selection of the selectable user interface element, the tracing configuration comprising a line number of the source code and the variable within the source code;

setting a breakpoint in the source code at the line number using the tracing configuration;

tracing the variable during execution of the source code, the tracing comprising determining a value of the variable using the breakpoint in the source code and creating a call stack based on the execution of the source code; and

storing the value of the variable and the call stack in a log.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the computer operations further comprise:

retrieving the value of the variable and the call stack from the log; and

displaying the value of the variable and the call stack on the first computing device or on a second computing device different from the first computing device.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the user input comprises the tracing configuration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2023
From: JIJO, JOVIN; K, UMESH
To: SAP SE
Reel/Frame 062814/0776 →
Continuity (1)
Related Publication 20240289256A1 · Aug 29, 2024