Patent ID: 9588872
Date: 2017-03-07
CPC Classifications: G06F

Claim:
1. A computer-implemented method comprising: receiving, for each of a plurality of data objects created during a first execution of an application, a call to create the respective data object during the first execution of the application; receiving, for each of the plurality of data objects in response to receiving the call to create the respective data object, a respective return address that identifies a corresponding memory location for the data object; assigning, for each of the plurality of data objects, a corresponding watchpoint address, which causes a page fault when accessed, to the corresponding data object; providing, in response to the call to create the respective data object, the corresponding watchpoint address; receiving, for at least some of the plurality of data objects, a call to execute a respective instruction that includes the corresponding watchpoint address to access the corresponding data object; recording, in response to receiving the call to execute the instruction that includes the corresponding watchpoint address to access the corresponding data object, a stack trace of a call stack for the application in a first log of stack traces; generating, for each of the stack traces in the first log, a script for a respective probe that identifies the data object accessed by the call corresponding to the stack trace, a respective instruction called to access the data object, and whether the access is a read or a write access for the data object; generating, for at least one of the probes, a second log that identifies the data object for the respective probe and the data stored in the data object; and generating a representation of the execution of the application using the second log.