Comment Re:total eclipse of the heart (Score 1) 294
Sure, lazy developers are going to use debuggers and edit/continue to avoid thinking. But that doesn't mean that everybody needs to code with a soldering iron and debug with an oscilloscope.
And windbg? For 90% of cases, that's simply masochism (I, for one, don't use obtuse tools just so I can feel smart about being able to use them).
For example, you don't need to load up windbg, load SOS, and do a gcroot command just because an InvalidCastException was raised by some piece of code you haven't worked on in a couple of months. Just step in there, and see what object is being passed in (and, probably, track it up the call stack to see what's changed).
Keeping the entire source tree in your head slows you down (and probably drives you crazy). I tend to keep an overall map of the codebase in my head and just re-familiarise myself with bits while I'm working on them.
When an app has an unhandled exception, VS launches for JIT debugging, attaches, and takes me right to the place in the source where the error was raised. It shows me the full call-stack (a double-click on any entry in the call stack will take me to the source there) and, for each level in the call stack, automatically picks likely variables of interest (as well as being able to show me the contents of pretty much anything else I choose).