1. A method of debugging application code in an on demand environment, the method comprising: imposing memory allocation limits using a software-based resource tracker tool; executing the code by a server in the on demand environment; during execution of the code, creating a transcript of step-wise machine actions and associated metadata during execution of the code; identifying, by the server, a first location within the code having a suspected error, by: detecting that one or more of the memory allocation limits have been exceeded during execution of the code; and setting a flag at the first location, based on the one or more of the memory allocation limits being exceeded; defining, by the server, a first check point within the code corresponding to the flag at the first location; subsequently re-executing the code, including the first check point, by the server; creating, by the server, a heap dump corresponding the first check point during re-execution of the code; and debugging the code based on the heap dump without suspending the subsequent re-execution of the code, by: retrieving the transcript, to create a retrieved transcript; loading the retrieved transcript into a simulated debugger used as a surrogate for a conventional debugger; and performing a step-wise execution of the retrieved transcript using logged execution data; wherein debugging the code is performed in parallel to the subsequent re-execution of the code.