1. A method comprising: in response to a command that requests setting a breakpoint at a line in a module, determining whether a snapshot instruction exists before a machine instruction that implements a source statement at the line; if the snapshot instruction exists before the machine instruction that implements the source statement at the line, setting the breakpoint at the machine instruction that implements the source statement at the line; and if the snapshot instruction does not exist before the machine instruction that implements the source statement at the line, recompiling the module to add the snapshot instruction before the machine instruction that implements the source statement.