Recording program execution
US-9311221-B2 · Apr 12, 2016 · US
US9852047B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9852047-B2 |
| Application number | US-201615065593-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 9, 2016 |
| Priority date | Mar 15, 2013 |
| Publication date | Dec 26, 2017 |
| Grant date | Dec 26, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Among other things, a method includes, at a computer system on which one or more computer programs are executing, receiving a specification defining types of state information, receiving an indication that an event associated with at least one of the computer programs has occurred, the event associated with execution of a function of the computer program, collecting state information describing the state of the execution of the computer program when the event occurred, generating an entry corresponding to the event, the entry including elements of the collected state information, the elements of state information formatted according to the specification, and storing the entry. The log can be parsed to generate a visualization of computer program execution.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method including: at a computer system on which one or more computer programs are executing: receiving a specification defining types of state information; receiving an indication that an event associated with at least a first of the one or more computer programs has occurred, the event associated with execution of a function of the first computer program; collecting state information describing the state of the execution of the first computer program when the event occurred; generating, during execution of the first computer program, an entry corresponding to the event, the entry including one or more elements of the collected state information, the one or more elements of state information formatted according to the specification; and storing the entry, wherein the entry contains: a first portion formatted according to a native format of a logging mechanism used when generating a log, the first portion including at least one of a timestamp and a debugger message, and a second portion formatted according to the specification and in a format other than the native format of the logging mechanism, the second portion including at least one element of the one or more elements of the state information, each of the at least one element of state information tagged based on tags defined by the specification. 2. The method of claim 1 , wherein the specification defines an identification of an instance of an object from which the function was executed. 3. The method of claim 1 , wherein the specification defines an identification of the function and defines an identification of a time at which the function was called. 4. The method of claim 3 , wherein the specification defines arguments passed to the function and defines variables associated with the function. 5. The method of claim 3 , wherein the specification defines at least one of an identification of variables passed to the function, output of the function, or another function that called the function. 6. The method of claim 1 , wherein the specification defines a format that is compatible with a facility that generates a visualization of execution of at least one of the one or more computer programs. 7. The method of claim 1 , wherein the specification is an XML specification. 8. The method of claim 1 , wherein at least some of the types of state information in the entry are identified by tags. 9. The method of claim 1 , including dynamically adjusting a level of logging during execution of at least one of the one or more computer programs, wherein different types of events are logged when different levels of logging are specified. 10. The method of claim 1 , including dynamically adjusting a level of detail of logging during execution of at least one of the one or more computer programs, wherein for the same type of event, different amounts of information are logged when different levels of details of logging are specified. 11. The method of claim 1 , including: receiving a first command and a second command, wherein the first command indicates a threshold for events that should be recorded; wherein the second command indicates a level of detail that should be recorded in each entry; and generating entries for events that satisfy the threshold for events that should be recorded, at the indicated level of detail. 12. The method of claim 1 , including: receiving a threshold for events that should be stored; and generating entries for events that satisfy the threshold when a function is executing. 13. The method of claim 1 , including: receiving a level of detail that should be recorded in each log entry; and generating entries for events at the level of detail when a function is executing. 14. A computer system configured to execute one or more computer programs, the computer system comprising: at least one hardware processor configured to perform: receiving a specification defining types of state information; receiving an indication that an event associated with at least a first of the one or more computer programs has occurred, the event associated with execution of a function of the first computer program; collecting state information describing the state of the execution of the first computer program when the event occurred; generating, during execution of the first computer program, an entry corresponding to the event, the entry including one or more elements of the collected state information, the one or more elements of state information formatted according to the specification; and storing the entry, wherein the entry contains: a first portion formatted according to a native format of a logging mechanism used when generating a log, the first portion including at least one of a timestamp and a debugger message, and a second portion formatted according to the specification and in a format other than the native format of the logging mechanism, the second portion including at least one element of the one or more elements of the state information, each of the at least one element of state information tagged based on tags defined by the specification. 15. A computer-readable hardware storage device storing instructions that, when executed by at least one processor, cause the at least one processor to perform: receiving a specification defining types of state information; receiving an indication that an event associated with at least a first of the one or more computer programs has occurred, the event associated with execution of a function of the first computer program; collecting state information describing the state of the execution of the first computer program when the event occurred; generating, during execution of the first computer program, an entry corresponding to the event, the entry including one or more elements of the collected state information, the one or more elements of state information formatted according to the specification; and storing the entry, wherein the entry contains: a first portion formatted according to a native format of a logging mechanism used when generating a log, the first portion including at least one of a timestamp and a debugger message, and a second portion formatted according to the specification and in a format other than the native format of the logging mechanism, the second portion including at least one element of the one or more elements of the state information, each of the at least one element of state information tagged based on tags defined by the specification.
Debugging of software · CPC title
using diagnostics (G06F11/0703 takes precedence) · CPC title
by tracing the execution of the program · CPC title
for systems · CPC title
Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.