1. A computer-readable storage medium having computer-executable instructions for causing a computer to perform steps comprising: processing trace data to determine which code addresses were executed during a prior execution of an application; while processing the trace data, identifying one or more events that happened at one or more points in time as the application was executed; correlating the one or more events to corresponding parts of the source code; mapping addresses in the trace data back to source code through symbol information; reconstructing the source code into an execution-centric format, the execution-centric format lists the source code in an order in which it was executed; symbolically annotating the execution-centric formatted source code to show execution flow and code connections; and displaying the execution-centric formatted source code with the symbolic annotations to a user for analysis.