发明名称 Resuming a prior debug session
摘要 Inserting, at debuggee source code lines, a breakpoint and executing. For each breakpoint encounter until exiting: encountering and removing the breakpoint, incrementing a first counter value, and resuming execution. Exiting includes saving the first counter value, a state of the call stack, and an exit location. In a second debug session, preparing the debuggee to resume from the exit location. Inserting, at the debuggee source code lines, a breakpoint and executing the debuggee. For each breakpoint encounter until a second counter value matches the first: encountering and removing the breakpoint, incrementing the second counter value, and resuming execution. 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, 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.
申请公布号 US8752024(B2) 申请公布日期 2014.06.10
申请号 US201213687352 申请日期 2012.11.28
申请人 International Business Machines Corporation 发明人 Bates Cary L.
分类号 G06F9/44 主分类号 G06F9/44
代理机构 代理人
主权项 1. A method of resuming a prior debug session, the method comprising: 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.
地址 Armonk NY US