1. A method comprising: receiving a command that specifies a debug compile option and requests a compile of a module into object code within a current debugging session; if the debug compile option specifies a first debug compile option within the current debugging session, inserting snapshot instructions immediately prior to each machine instruction in the object code at which a breakpoint was previously set within a previous debugging session that has ended but at which the breakpoint is not currently set within the current debugging session, wherein the snapshot instructions, when executed, save values of every variable referenced anywhere by the module from a respective register to a respective location in memory; and if the debug compile option specifies the first debug compile option within the current debugging session, inserting the snapshot instructions immediately prior to each machine instruction in the object code that implements a control flow statement.