Salve a tutti,
sarà capitato anche a voi di trovarvi davanti ad un bluescreen di windows. Escludendo il caso in cui si trattava di un semplice screensaver, avete comunque dovuto cercare la ragione del crash.
A meno che non si tratti di un problema hardware di basso livello per cui si ha un improvviso reboot dell’host o voi non abbiate riavviato il server prima del completamento dell’operazione di creazione del dump, si può quasi sicuramente capire la causa del malfunzionamento di Windows.
Windows al termine del riavvio ci segnala che c’è stato un errore grave e ci chiede se vogliamo inviare la segnalazione (il file dmp), ma se vogliamo capire cos’è successo rimbocchiamoci le maniche e procediamo più o meno così:
Innanzitutto aprendo l’event viewer di windows troviamo un evento commentato come “savedump” e nella descrizione troviamo un bel codice esadecimale più o meno lungo: ne facciamo un search su http://support.microsoft.com con il primo codice esadecimale che c’è scritto.
Possiamo quindi procedere in maniera autonoma se questa ricerca non ha successo o i suoi risultati sono troppo criptici scaricandoci Windbg, parte del pacchetto Debugging Tools for Windows. E’ opportuno scaricare i Symbols del sistema operativo, che servono ad avere un’analisi più accurata del problema. Sono abbastanza corpulenti e differiscono per il tipo di architettura del processore e per sistema operativo: li potete trovare su http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx.
Fatto questo, lanciamo WinDbg dandogli il path dei Symbols e poi apriamo il crash dump; é bene sempre dare il comando “!analyze -v” per avere un dettaglio maggiore sul problema. In questa maniera, anche se l’anomalia non è generata dal sistema operativo, possiamo certamente risalire alla sua causa perchè non serve sapere quale sia il nome della particolare funzione che ha causato il crash (cosa cer la quale sarebbero necessari i Symbols del singolo pacchetto applicativo), ma il nome del file contenente la funzione che è andata in crash…e da lì il passo verso la soluzione è breve.
Saluti,
Lorenzo Di Palma