Abstract: Example methods, apparatuses, and systems are presented for a software code debugger tool. The code debugger tool may be configured to access source code intended to be examined for debugging. The debugger tool may compile the source code using a specially designed compiler that incorporates state recording functionality and other debugging functionality directly into the source code. When the source code is executed, the debugging tool may be configured to record a plurality of states that the application progresses through upon executing the application. The debugger tool can read recorded states while the application runs or after its execution. Various visual indicators may also provide additional annotations to aid in debugging, such as displaying the content of variables in a visual annotation showing their historical values, and providing a temporal status indicator to provide context to the user about what the present state represents in relation to specific functions in the source code.