1. In a computing system that executes an operating system, a method for programmatically diagnosing the root cause of a problem in the computing system, the method comprising the following: an act of generating events within an operating system; an act of logging at least a subset of the events to a log file; an act of detecting one or more error conditions; an act of invoking a diagnostic module in response to the act of detecting one or more error conditions, wherein the diagnostic module is configured to do the following when invoked: an act of querying the log file to correlate events relevant to diagnosis of the problem evidenced by the one or more error conditions; an act of evaluating the results of the query; and an act of identifying the root cause of the one or more error conditions in response to the evaluation.