Out of the box, VS.NET 2008 debugger options cripple you from debugging efficiently and effectively. I have compiled this list of options which will allow a more pleasant debugging experience.
Click the Tools menu and select Options. In the Options dialog box, expand the Debugging node and select General.
[_] Ask before deleting all breakpoints
[X] Break all processes when one process breaks
[_] Break when exceptions cross AppDomain or managed/native boundary
[X] Enable address-level debugging
[_] Show disassembly if source is not available
[X] Enable breakpoint filters
[_] Enable the Exception Assistant
[X] Unwind the call stack on unhandled exceptions
[_] Enable Just My Code (Managed only)
[_] Show all members for non-user objects in variables windows (Visual Basic only)
[X] Warn if no user code on launch
[X] Enable property evaluation and other implicit function calls
[_] Call ToString() on objects in variables windows (C# only)
[_] Enable source server support
[_] Print source server diagnostic messages to the Output window
[_] Highlight entire source line for breakpoints and current statement
[X] Require source files to exactly match the original version
[_] Redirect all Output window text to the Immediate window
[_] Show raw structure of objects in variables windows
[X] Suppress JIT optimization on module load (Managed Only)
[X] Warn if no symbols on launch (Native Only)
[X] Warn if script debugging is disabled on launch
The MSDN documentation mentions an option called "Enable advanced debugging features (can affect stepping performance)"; I have not been able to locate this option anywhere.

