Historical software diagnostics using lightweight process snapshots
First Claim
1. In a computing environment, a method of debugging an executing process, the method comprising:
- simultaneously running, independently, an executing process and a snapshot of the executing process, wherein the executing process and the snapshot point to a same physical memory address; and
analyzing data collected from the snapshot, using a debugging tool associated with the snapshot, without affecting the executing process.
2 Assignments
0 Petitions
Accused Products
Abstract
A debugging and diagnostics system allows users to take lightweight process snapshots of running debuggee processes so the users may analyze those snapshots at a later time. The snapshot mechanism allows debugging tools to compare an original process or one or more process snapshots or to compare any of a series of snapshots to each other. The snapshot mechanism further allows users to inspect a snapshot of process memory while allowing the original process to continue running with minimal impact. A user may do historical debugging using process snapshots of a debuggee process taken over time. This allows the user to view the state of the debuggee process as it existed when the snapshot was taken. The lightweight process snapshot is less invasive because it does not require a full copy of the memory and allows the original process to run un-interrupted while specific collections and inspections are completed.
89 Citations
20 Claims
-
1. In a computing environment, a method of debugging an executing process, the method comprising:
-
simultaneously running, independently, an executing process and a snapshot of the executing process, wherein the executing process and the snapshot point to a same physical memory address; and analyzing data collected from the snapshot, using a debugging tool associated with the snapshot, without affecting the executing process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-readable medium comprising instructions stored thereon that, when executed by a computer system, cause the computer system to:
-
independently run an executing process and a process snapshot of the executing process simultaneously, wherein the executing process and the snapshot point to a same physical memory address; and analyze data collected from the process snapshot, using a debugging tool associated with the process snapshot, without affecting the executing process. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer system comprising:
- a memory and a processor configured to utilize instructions in the memory to implement a method for debugging an executing process, the computer system configured to;
simultaneously run, independently, the executing process and a snapshot of the executing process, wherein the executing process and the snapshot point to a same physical memory address; and analyze data collected from the snapshot, using a debugging tool associated with the snapshot, without affecting the executing process. - View Dependent Claims (18, 19, 20)
- a memory and a processor configured to utilize instructions in the memory to implement a method for debugging an executing process, the computer system configured to;
Specification