Memory validity states in time-travel debugging
First Claim
1. A method, implemented at a computer system that includes one or more processors, for presenting historical state associated with a prior execution of an entity, the method comprising:
- replaying one or more segments of the prior execution of the entity based on one or more trace data streams storing a trace of at least the prior execution of the entity;
in connection with replaying the one or more segments of the prior execution of the entity, and relying on one or more data values available in the one or more trace data streams, simulating execution of a function of the entity as it would have executed at a particular execution time point in the prior execution of the entity, wherein execution of the function was not traced into the one or more trace data streams during the prior execution of the entity; and
based on replaying the one or more segments of the prior execution of the entity, and based on simulating execution of the function of the entity, presenting, in connection with the particular execution time point in the prior execution of the entity, a first indication at a user interface of at least one of the one or more data values relied upon by the simulated execution of the function, along with a second indication of a timing of knowledge of the at least one data value in relation to the particular execution time point.
1 Assignment
0 Petitions
Accused Products
Abstract
Presenting historical state associated with prior execution of an entity. Based on replaying segment(s) of execution of an entity based on a trace, embodiments could present an indication of whether a value of a code element is, at a first execution time point, unknown, known, previously known, and/or known in the future. Additionally, or alternatively, embodiments could present an indication of a value relied upon by simulated execution of a function at a second execution time point, along with an indication of a timing of knowledge of the value in relation to the second execution time point. Additionally, or alternatively, embodiments could present an indication that a return value of a function would be known if the function had executed at a third execution time point, or an indication that the return value would be unknown if the function had executed at the third execution time point.
27 Citations
19 Claims
-
1. A method, implemented at a computer system that includes one or more processors, for presenting historical state associated with a prior execution of an entity, the method comprising:
-
replaying one or more segments of the prior execution of the entity based on one or more trace data streams storing a trace of at least the prior execution of the entity; in connection with replaying the one or more segments of the prior execution of the entity, and relying on one or more data values available in the one or more trace data streams, simulating execution of a function of the entity as it would have executed at a particular execution time point in the prior execution of the entity, wherein execution of the function was not traced into the one or more trace data streams during the prior execution of the entity; and based on replaying the one or more segments of the prior execution of the entity, and based on simulating execution of the function of the entity, presenting, in connection with the particular execution time point in the prior execution of the entity, a first indication at a user interface of at least one of the one or more data values relied upon by the simulated execution of the function, along with a second indication of a timing of knowledge of the at least one data value in relation to the particular execution time point. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system, comprising:
-
one or more processors; and one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to perform at least the following; replay one or more segments of the prior execution of the entity based on one or more trace data streams storing a trace of at least the prior execution of the entity; in connection with replaying the one or more segments of the prior execution of the entity, and relying on one or more data values available in the one or more trace data streams, simulating execution of a function of the entity as it would have executed at a particular execution time point in the prior execution of the entity, wherein execution of the function was not traced into the one or more trace data streams during the prior execution of the entity; and based on replaying the one or more segments of the prior execution of the entity, and based on simulating execution of the function of the entity, presenting, in connection with the particular execution time point in the prior execution of the entity, a first indication at a user interface of at least one of the one or more data values relied upon by the simulated execution of the function, along with a second indication of a timing of knowledge of the at least one data value in relation to the particular execution time point. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer program product comprising one or more hardware storage devices having stored thereon computer-executable instructions that are executable by one or more processors to cause a computer system to perform at least the following:
-
replay one or more segments of the prior execution of the entity based on one or more trace data streams storing a trace of at least the prior execution of the entity; in connection with replaying the one or more segments of the prior execution of the entity, and relying on one or more data values available in the one or more trace data streams, simulating execution of a function of the entity as it would have executed at a particular execution time point in the prior execution of the entity, wherein execution of the function was not traced into the one or more trace data streams during the prior execution of the entity; and based on replaying the one or more segments of the prior execution of the entity, and based on simulating execution of the function of the entity, presenting, in connection with the particular execution time point in the prior execution of the entity, a first indication at a user interface of at least one of the one or more data values relied upon by the simulated execution of the function, along with a second indication of a timing of knowledge of the at least one value in relation to the particular execution time point.
-
Specification