摘要 |
Software debugging including: inserting, by a compiler compiling source code into a debuggable program, a phantom breakpoint at one or more lines of source code; including in the program; executing the program including encountering phantom breakpoints and removing each encountered phantom breakpoint; creating, upon exiting execution, a copy of the program that includes only phantom breakpoints not encountered during execution; providing the copy to a debugger; identifying, by the debugger, source code lines of the copy that do not include a phantom breakpoint; inserting an executed phantom breakpoint at the identified lines of the copy; executing the copy of the debuggable program including removing encountered breakpoints; and, after exiting execution of the copy, determining whether execution of the copy matches the execution of the debuggable program including, determining that the executions do not match if any phantom breakpoints were removed from the copy or any executed phantom breakpoint remains in the copy.
|