Debugging is often misunderstood. Many people that are unfamiliar with debugging tend to think it's all about mastering difficult and austere tools. Kevin often had coworkers asked him "what sequence of commands should I type in WinDbg to debug this kind of issue?", as if debugging was about applying a simple flowchart with a complex tool. This is, in fact, quite the opposite. Debugging is all about the mindset and the methodology, and the tooling is the simple part.
To illustrate this, we will diagnose and fix a bug in a mainstream application without having the source code or any prior knowledge of its inner workings. Faced with an overwhelming number of unknowns, we'll see how to methodically gain knowledge about the issue, formulate theories, verify them, and use the results to make progress in the investigation.