1. A method executed at least in part in a computing device for debugging a software application through capture and replay of execution, the method comprising: starting the application's execution; capturing execution paths of the application; capturing a memory state of the application's execution at configurable points by a debugger; capturing an external system interaction of the application by the debugger; receiving a replay request at the debugger; and replaying the application's execution based on a requested time point after completion of capturing.