Patent ID: 8566799
Filing Date: 2013-10-22
Classification: G06F

Abstract:
1. An apparatus for resuming a prior debug session, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: loading a debuggee in a first debug session including inserting, at one or more lines of debuggee source code, a coverage breakpoint, including inserting a coverage breakpoint at every line of the source code; executing, at the behest of a user, the debuggee including, for each coverage breakpoint encounter until exiting the first debug session: encountering a coverage breakpoint thereby stopping execution, removing the coverage breakpoint, incrementing a first counter value, and resuming execution without user interaction; exiting the first debug session including saving the first counter value, a state of the debuggee's call stack, and an exit location; upon reloading the debuggee in a second, subsequent debug session, preparing the debuggee to resume debugging from the exit location, including: inserting, at the one or more lines of the debuggee's source code, a coverage breakpoint, including inserting a coverage breakpoint at every line of the source code; executing the debuggee; for each coverage breakpoint encounter until a second counter value matches the first counter value: encountering a coverage breakpoint thereby stopping execution, removing the coverage breakpoint, incrementing the second counter value, and resuming execution without user interaction; and when the first and second counter values match: inserting an exit location breakpoint at the exit location, executing the debuggee until encountering the exit location breakpoint thereby stopping execution at the exit location, and providing the user control to resume debugging from the exit location only if the present state of the call stack matches the saved state of the call stack state.