Quando Windows si blocca, per dei crash di driver, o non risponde più ai comandi, pur mostrando un feed a video, uno shortcut per creare un dump della memoria può aiutare per trovare la causa dei crash.
Ho sperimentato personalmente questa frustrazione utilizzando OBS, come videocamera virtuale. Ogni tanto quando si avvia, crashano i driver grafici, frezzando il PC, senza generare una schermata blu.
Cercando online le caratteristiche del freeze, non ho trovato molto a riguardo, essendo un problema anomalo, quasi nessuno riesce a capire il motivo o eventualmente la causa senza nemmeno avere un crash dump da analizzare.
Abilitate i Crash Dump
Nelle impostazioni di Windows, in particolare nelle proprietà del sistema, c’è la voce Avvio e ripristino.
Qui è possibile impostare il tipo di dump da effettuare in caso di crash del sistema.
Consiglio il dump completo della memoria per identificare al meglio l’ambiente e le possibili cause di eventuali crash.
Blue Screen Of the Death a comando
Cercando un qualche shortcut che mi permettesse di generare un crash dump della memoria, mi è capitato sotto mano questa funzione di Windows, chiamata CrashOnCtrlScroll.
Grazie a questa funzione è possibile imporre un crash del sistema, generando un crash dump da parte di Windows.
Per attivare questa funzione basterà creare un valore sul registro di Windows a seconda del tipo di tastiera che si vuole utilizzare per il crash.
Aprite RegEdit e andate al percorso relativo alla tastiera:
USB
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\Parameters
P2/S
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters
Hyper-V (PC virtuale o remoto)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\hyperkbd\Parameters
Indifferentemente dalla tastiera scelta e dal percorso del registro scelto, creare un valore DWORD (32 bit) con nome CrashOnCtrlScroll ed impostare il valore a 1 (decimale o hesadecimale è indifferente).
Per i PC portatili, l’interfaccia per la tastiera integrata potrebbe essere la P2/S, come Microsoft consiglia, abilitate sia USB che P2/S per testare con entrambe le tastiere
Una volta impostata la nuova chiave, riavviate il PC.
Per azionare il crash, tenete premuto il tasto CTRL più a destra e premete due volte il tasto blocco scorrimento, o Scroll Lock.
Solitamente sulla tastiera è indicato con “BLOC SCORR” o “Scr Lk”
Cambiare combinazione di tasti per il crash
è possibile cambiare la combinazione di tasti per inizializzare il crash creando 2 valori nel registro.
Di nuovo, in base alla tastiera che si sta utilizzando, è necessario creare prima la chiave crashdump
nel percorso scelto:
USB
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\crashdump
P2/S
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\crashdump
Hyper-V (PC virtuale o remoto)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\hyperkbd\crashdump
Successivamente servirà creare 2 valori DWORD, Dump1Keys
e Dump2Key
, che serviranno ad indicare i tasti prescelti per il crash.
Valore Dump1Keys
Il valore di questo elemento corrisponde a un bit map.
Nei valori bit map, sono importati i bit impostati ad 1 (valore alto), ad esempio una variabile decimale, bit map, uguale a 17 corrisponde in valore binario a 00010001, i bit importanti sono quindi il primo (quello più a destra) e il quinto.
Un programma che utilizza la variabile in esempio, associa ad ogni bit del numero, una funzionalità. Di conseguenza è possibile impostare più funzionalità (bit a 1) utilizzando la stessa variabile.
Sul sito di Microsoft c’è la tabella con i valori del bit map per il valore DWORD Dump1Keys
Ogni bit corrisponde a un tasto della tastiera, l’utilizzo di più bit nel valore comporterà l’abilitazione di più tasti per il primo passo per inizializzazione.
Valore Dump2Keys
Il valore di questo elemento è un numero intero, e corrisponde all’indice di un array. Questo array contiene una serie di numeri corrispondenti a dei layout delle tastiere. Questa parte è poco precisa riguardo l’impatto che ha questo valore sull’inizializzazione del crash.
In ogni caso per impostare questo valore sarà necessario creare un nuovo valore DWORD Dump2Keys e impostare il valore decimale desiderato.
Analizzare un crash dump
Analizzare un crash dump a mano è sicuramente un’impresa difficile poiché comprende una copia della RAM e dei vari programmi in esecuzione quando viene generato.
Per fortuna esistono programmi che permettono di analizzare il file e capire cosa ha generato il blocco del sistema.
Dalla pagina di Microsoft viene suggerito il programma grafico WinDBG, disponibile sullo Store di Microsoft, permette di analizzare processi e crash dump.
Aprendo il programma, si avvierà con la schermata sottostante, tra le opzioni disponibili, è presente “Open dump file”.
Successivamente scegliendo il file dump, presente nel percorso di Windows: C:\Windows\MEMORY.DMP
Si aprirà la schermata di debugging dove sarà possibile impartire comandi al debugger per trovare ed analizzare cosa ha generato il crash.
Non essendo esperto in comandi di WinDBG, vi consiglio di cercare online comandi per trovare l’origine del problema del freeze dello schermo.
ATTENZIONE: Il crash generato, è comunque un crash per Windows. Se analizzate il crash con questo programma, fate attenzione perché come primo comando vi darà !analyze -v, questo vi darà come output Bug check 0xE2: MANUALLY_INITIATED_CRASH, ovvero il processo di Windows che ha generato il crash dump.
Be the first to comment