Computer software run-time analysis systems and methods
First Claim
1. A pre-processor for processing a program that includes at least one function call, comprising:
- a code expander for detecting the at least one function call of the program;
at least one trace point; and
an inserter, communicably connected with the code expander and the at least one trace point, for inserting the at least one trace point in the program relative to the at least one function call.
6 Assignments
0 Petitions
Accused Products
Abstract
A method of run-time tracing is performed on a computer while running an executable software program. The method includes processing data by the processor of the computer, storing the data in a memory of the computer, and controlling the step of processing data so that the step executes function routines of the language of the software program. Trace points are associated with the function calls of the program. The function calls execute the applicable function routines of the program language. The method also includes capturing trace information in memory. The method further includes associating that trace information with trace id'"'"'s that uniquely identify each of the trace points of the program. The trace points are incorporated in executable versions of the program. The memory in which the trace information is captured is a shared memory accessible to the computer and other connected devices. The shared memory is either part of the computer or separate but communicatively connected memory such as a networked element. The shared memory includes the most recent trace results from runs of the program, as well as all past results that have not been overwritten, even though more than one computer that executes the program can access and share the shared memory.
69 Citations
30 Claims
-
1. A pre-processor for processing a program that includes at least one function call, comprising:
-
a code expander for detecting the at least one function call of the program;
at least one trace point; and
an inserter, communicably connected with the code expander and the at least one trace point, for inserting the at least one trace point in the program relative to the at least one function call. - View Dependent Claims (2, 3)
-
-
4. A method of pre-processing a program that includes at least one function call, comprising the steps of:
-
detecting the at least one function call of the program; and
associating at least one trace point with the at least one function call. - View Dependent Claims (5, 6)
-
-
7. A run-time tracer, comprising:
-
a data processor;
a database communicatively connected to the data processor;
a software program operating on the data processor, having at least one trace point associated with at least one function call of the program; and
a trace id stored in the database, that corresponds to and identifies the at least one trace point, associated with the at least one function call of the program. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21)
-
-
17. A shared memory for run-time tracing, comprising:
-
an executable program, including a function call to a function routine and a trace point corresponding to and identifying the function call; and
an address of the shared memory wherein the executable program writes trace information associated with the trace point during program run-time. wherein the shared memory is simultaneously accessible at the address to multiple instances of the executable program during multiple runs.
-
-
22. A method of run-time tracing, comprising the steps of:
-
processing a data;
storing the data in a memory;
programming the step of processing to perform a function routine, so that at least one trace point is associated with at least one function call of the function routine; and
storing a trace id in a database, the trace id serving to uniquely identify the at least one trace point. - View Dependent Claims (23, 24, 25, 26, 28, 29)
-
-
27. A method of sharing memory for run-time tracing, comprising the steps of:
-
executing a program, the program includes a function call to a function routine and a trace point corresponding to and identifying the function call;
writing to a memory communicatively connected to other steps of executing; and
capturing a state of the memory.
-
-
30. The method of claim 30, further comprising the steps of concurrently connecting to and accessing the shared memory by independent and plural steps of executing the program.
Specification