1. A system comprising: at least one processor; a debug user interface comprising: a source code viewing area; and a local variable viewing mechanism. a debug viewer executing on said at least one processor, said debug viewer that: retrieves a first instance of a snapshot, said first instance of said snapshot being taken during execution of an application and containing local variable values and call stack data; said first instance comprising a first value for a first local variable, said first instance being stored in a first repository; retrieves a performance metric obtained during execution of the application, which performance metric is stored in a second repository; displays said first value in said debug user interface and displays at least some source code relating to said first local variable in said user interface; retrieves a second instance of a snapshot, said second instance of said snapshot being taken during said execution of said application; said second instance comprising a second value for a first local variable, said second instance being stored in said first repository; and displays said second value in a user interface and displays at least some source code relating to said first local variable in said user interface; and displays an interactive timeline comprising a first performance indicator derived from the performance metric and at least said snapshot instances, which interactive timeline allows a user to select said performance indicator or said snapshot to view underlying data.