La giornata di oggi inizia con una sessione sul debugging:
Spesso non ce ne rendiamo conto ma Visual Studio ha un supporto al debugging veramente notevole, e la versione 2005 lo migliorerà ulteriormente.
Dopo una carrellata sui vari listeners (da usare con le classi Debug e Trace) viene analizzato come attivare/disattivare le opzioni di Tracing agendo sul file di configurazione.
Viene sconsigliato l'uso di OutputDebugString (questa gener una SEH exception intecettata dal kerner e copiata allinterno di shared memory mapped files)
StackTrace è un altra classe, spesso dimenticata che può esserci utile per localizzare la fonte di una determinata eccezione.
Alcuni metodi/attributi che possiamo usare per gestire il debugger:
DebuggerHidden: Il debugger non entra nel codice e non possiamo mettere breakpoints
Debugger.Break: Forza un breakpoint
Debugger.Launch: Da usare per attivare il debugger

Trick:
Usando Debugger.Log è possibile scrivere nell'output pane di VS, facendo dbl click VS ci porta alla riga indicata dal debugger, combinando questa feature con StackTrace è possibile generare dei pinpoint raggiungibili con un semplice double click.
Nella foto un riassuto della sessione: