Snapshotting Executing Code with a Modifiable Snapshot Definition
First Claim
Patent Images
1. A system comprising:
- at least one processor;
an execution environment executing on said at least one processor, said execution environment executing an application;
a snapshot manager operating with said execution environment, said snapshot manager that;
receives a snapshot definition, said snapshot definition comprising a condition definition and a dataset definition;
identifies a first condition for a snapshot, said first condition matching said condition definition in said snapshot definition;
when said first condition is satisfied, causes said application to pause execution;
while said application is paused, collecting a first dataset;
causes said application to continue execution after said first dataset is collected; and
stores said first dataset as a first snapshot instance.
2 Assignments
0 Petitions
Accused Products
Abstract
A tracing and debugging system may take a snapshot of an application in response to an event, and may continue executing the program after the snapshot is captured. The snapshot may be stored and retrieved later in a debugging tool where a programmer may browse the snapshot or the snapshot may have some other analysis performed. The snapshot may contain a subset of the state of the application, such as call stacks, portions of source code, the values of local and global variables, and various metadata. The snapshot may be defined in a snapshot configuration that may include an event description and data to be collected.
-
Citations
72 Claims
-
1. A system comprising:
-
at least one processor; an execution environment executing on said at least one processor, said execution environment executing an application; a snapshot manager operating with said execution environment, said snapshot manager that; receives a snapshot definition, said snapshot definition comprising a condition definition and a dataset definition; identifies a first condition for a snapshot, said first condition matching said condition definition in said snapshot definition; when said first condition is satisfied, causes said application to pause execution; while said application is paused, collecting a first dataset; causes said application to continue execution after said first dataset is collected; and stores said first dataset as a first snapshot instance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method executed on at least one processor, said method comprising:
-
executing an application; while said application is executing, determining that a first instance of a condition has been satisfied and causing said application to pause execution; while said application is paused, collecting a first dataset; storing said first dataset; and causing said application to continue execution. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. A system comprising:
-
at least one processor; an execution environment executing on said at least one processor, said execution environment executing an application; a snapshot manager operating with said execution environment, said snapshot manager that; receives a snapshot definition, said snapshot definition comprising a condition definition and a dataset definition; identifies a first condition for a snapshot, said first condition matching said condition definition in said snapshot definition; when said first condition is satisfied, causes said application to pause execution; while said application is paused, collecting a first dataset; causes said application to continue execution after said first dataset is collected; and stores said first dataset as a first snapshot instance. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method executed on at least one processor, said method comprising:
-
executing an application; while said application is executing, determining that a first instance of a condition has been satisfied and causing said application to pause execution; while said application is paused, collecting a first dataset; storing said first dataset; and causing said application to continue execution. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52)
-
-
53. A system comprising:
-
at least one processor; a debug user interface comprising; a source code viewing area; and a local variable viewing mechanism. a debug viewer executing on said at least one processor, said debug viewer that; retrieves a first instance of a snapshot, said first instance of said snapshot being taken during execution of an application and containing local variable values and call stack data; said first instance comprising a first value for a first local variable, said first instance being stored in a first repository; displays said first value in said debug user interface and displays at least some source code relating to said first local variable in said user interface; retrieves a second instance of a snapshot, said second instance of said snapshot being taken during said execution of said application; said second instance comprising a second value for a first local variable, said second instance being stored in said first repository; and displays said second value in a user interface and displays at least some source code relating to said first local variable in said user interface; - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64)
-
-
65. A method performed by at least one computer processor, said method comprising:
-
retrieving a first instance of a snapshot from a repository, said snapshot being generated by collecting a set of values while an application is paused, prior to continuing executing said application, said snapshot defining a set of data to collect and an event that when satisfied causes said set of data to be collected; displaying at least a portion of said first instance on a user interface, said first instance comprising a value for a first local variable and at least a portion of a call stack; browsing said first instance of said snapshot by receiving a first input to display a second local variable value and displaying said second local variable value; and retrieving a first portion of source code related to said first instance of said snapshot and displaying said first portion of source code. - View Dependent Claims (66, 67, 68, 69, 70, 71, 72)
-
Specification