Specific debug trace collecting
AssigneeInternational Business Machines Corporation
InventorsYoonho Park, Philippe L. Selo
Life of this patent
Estimating the term…
Abstract
A computing system for converting software code into an executable program include an expanding preprocessor that receives software code including debug statements and expands the debug statements into conditions that include a static variable and that must be met before a trace contained in the statement is executed, the expanding preprocessor creating an expanded code output. The system also includes a replacement preprocessor coupled to the expanding preprocessor and receiving the expanded code, the replacement preprocessor forming replaced code by replacing one or more occurrences of the static variables with a unique variable name and a compiler that compiles the replacement code to create an executable.
Claims17
A computing system for converting source code into an executable program, the system comprising:
- a central processing unit;
- a memory device;
- an expanding preprocessor that executes on the central processing unit and receives source code including a plurality of debug statements, each of which comprise a trace action, wherein the expanding preprocessor expands the debug statements into conditional statements and trace action statements, the conditional action statements including a static variable and that must be met before the trace action statement is performed;
- a replacement preprocessor that executes on the central processing unit and forms replaced code by replacing the static variables in the conditional action statements created by the expanding preprocessor with a unique variable name that uniquely identifies each of the plurality of debug statements in the source code;
- and
- a compiler that compiles the replacement code to create an executable program, wherein the executable program includes the conditional action statements with unique variables for each of the plurality of debug statement in the source code.
A method of enabling debugging statements in a computer implemented process without stopping the execution of the code on a computing device executing the process, the computing device including and execution engine, a debugger, a memory and a symbol table, the method comprising:
- receiving at the execution engine an executable, the executable including a plurality of debug traces, each debug trace being protected from execution by a conditional associated with a unique variable that has replaced a static variable previously contained in the conditional;
- receiving at the debugger a request to enable a particular debug trace;
- identifying in the symbol table a location in the memory where the unique variable associated with the debug trace is stored;
- and
- changing the value of the unique variable in the memory from a first value to a second value.
A computing system for debugging executable code without requiring recompilation of the executable code, the system comprising:
- one or more central processing units, the one or more central processing units receiving executable code wherein conditional action statements with unique variables have replaced a plurality of debug statement in source code, wherein the unique variable have replaced static variables previously contained in the conditional;
- a memory device coupled to the one or more central processing units storing the executable code;
- a compiler that compiles the replacement code to create an executable program;
- and
- a debugger coupled to the central processing unit that may change the value of the unique variable names and thereby enable or disable individual conditional action statements.
Dependencies are inferred from the claim text.