1. A computer-implemented method of debugging computer code executing on a first machine, the method comprising: obtaining state information corresponding to a previous operating state of the first machine at a checkpoint performed during the execution of the computer code on the first machine; configuring, with the state information obtained, a second machine having a same physical configuration to a same operating state as the previous operating state of the first machine at the checkpoint, wherein the second machine is a mirrored version of the first machine relative to execution of the computer code; receiving a notification that execution of the computer code on the first machine has failed; and in response to receiving the notification: triggering a processor of the second machine to initiate execution of a copy of the computer code on the second machine from a specific code execution point at which the checkpoint was initiated on the first machine; activating a debugger module to run concurrently with the execution of the copy of the computer code on the second machine and collect debug data corresponding to execution of the computer code on the second machine from the checkpoint up to the failure of the computer code execution on the second machine; and storing the debug data as debug data corresponding to execution failure of the computer code on the first machine.