L'obiettivo prefisso è quello di riuscire a rintracciare, dopo che un programma è crashato in produzione, il punto nel sorgente in cui si è verificato il problema.
Per fare questo bisogna fare generare un file di Dump (.dmp) costruito in modo da recuperare la linea di errore.
Bisogna preparare i computer in gioco per poter effettuare questa operazione.
Sul Server
Una tantum bisogna preparare il server scaricando i simboli da questo indirizzo:
http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspxDopodichè eseguire dtwtsn32.exe (da esegui) sul serve e selezionare le cartelle dove inserire il dump (io uso c:\drTassi ;-)
Abililtare i permessi in scrittura a tutti (Everyone, IWAM,SERVIZI etc..)
Assicurarsi che Dr. Watson sia il programma dedicato al debug di default. digitare
drwtsn32.exe -iSul Development Computer
Sul computer di sviluppo installare Debugging Tool For Windows scaricabili qui:
http://www.microsoft.com/whdc/devtools/debugging/default.mspxAltre info sono qui
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_pdb_win32- Generare il programma che si vuole debuggare in modalità release con debug
Attenzione: in proprietà di configurazione > Linker > Debug indicare dove scrivere il file .pdb (solitamente C:\WINDOWS\symbols\exe\)
- Copiare il programma sul server e far generare l'errore.
- Quando si verificherà l'errore, copiare il file di dump (user.dmp) sul computer di sviluppo
- Aprirlo con windbg.exe (CTRL+D)
- Se tutto è ok si vedrà il sorgente dove è andato in errore
http://support.microsoft.com/kb/258205/it
http://support.microsoft.com/kb/216356/EN-US/