This is what I use most on VS.NET debugging windows:
- Call stack, which is also a great way to figure out someone else's code
- Locals & Watches.
- Immediate window, which is basically a C# console and also lets me change variable contents, initialize stuff etc.
- The ability to skip a line, set the next statement to be executed somewhere else.
- The ability to hover over variables and have a tool-tip showing me their values.
In summary, it gives me a 360 degree view of the state of my executing code, not just a small window.
Never found a book teaching this kind of stuff, but then again, it seems to be quite simple, it's pretty much WYSIWYG.