1. A method for providing simulation through a live debugger comprising the steps of: providing a debugger operable to allow a user to debug an application in a live mode; providing a simulator operable to read recorded data from an earlier point in time in an execution of the application; providing a simulation mode operable to allow the user to interact with the recorded data using the debugger; and multiplexing the debugger between the application in the live mode and the simulator that reads the recorded data.