Perché Windows ha ancora il BSOD su "Ctrl + Scroll + Scroll" caratteristica?


15

Mentre usciva Windows XP, ho sentito parlare di una funzionalità di test che esisteva per causare manualmente un BSOD (Blue Screen Of Death) . Ho anche sentito che questo dovrebbe essere rimosso in XP Service Pack 2. Non è stato rimosso, è anche in Vista e Windows 7. Per abilitare questa navigazione in questa posizione nel registro:

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ i8042prt \ Parameters

e aggiungi CrashOnCtrlScrollcome a REG_DWORDcon il valore di 1.

Ora riavvia e premi Ctrl+ Scroll Lock+ Scroll Locke otterrai un BSOD.

Perché questa funzione è ancora qui?


3
Penso che dovrai chiedere a Microsoft di quello.
DLH,

19
Dal momento che richiede un hack del registro obbligatorio, non credo che ci sia un aspetto negativo nel lasciarlo nel sistema. Nessuno è in grado di attivarlo per errore.
Sangretu,

La sequenza di tasti funzionerà anche se attivata da una sessione RDP?
Axxmasterr,

4
Dato che ha un caso d'uso legittimo che conta per le persone che scrivono ed eseguono il debug dei driver del kernel e del dispositivo, non mi aspetto di vederlo rimosso. L'abilitazione richiede l'accesso in scrittura a HKLM e, anche se abilitato, tutto ciò che ottieni è un BSOD.
RBerteig,

2
@Axxmaster: No, poiché la sequenza di tasti è implementata nei driver di dispositivo per tastiere. Questi non sono necessari o addirittura utilizzati in una sessione RDP.
Joey,

Risposte:


34

È lì per consentire un'interruzione nel debugger del kernel o generare un file di dump in modalità kernel. In genere un esperto vorrebbe farlo quando il sistema operativo sembra bloccato e non risponderà nemmeno a CTRL + ALT + CANC per ottenere il file di dump e indagare su quale driver ha problemi.

Logicamente equivale a chiamare l'API del kernel KeBugCheck con bugcheck 0xE2 (MANUALLY_INITIATED_CRASH). Si noti inoltre che i valori reg possono essere impostati in chiavi reg diverse per il driver della tastiera USB (kbdhid) rispetto al driver ps2 (i8042prt). Ulteriori informazioni a riguardo e personalizzazione di quale combinazione di tasti viene utilizzata nell'articolo 244139 KB .

Dal momento che questo è implementato nei driver di tastiera effettivi, non mi aspetto che funzionerebbe dalla sessione RDP anche se fosse abilitato.


1
È anche lì per gli sviluppatori di hardware e driver che devono intercettare il debugger a un certo punto. E penso sicuramente che questa dovrebbe essere la risposta accettata.
Joey,

6

Se siamo generosi, potrebbe forse essere usato come un modo troppo entusiasta di forzare un dump di arresto anomalo per indagare manualmente sullo stato del sistema? (principalmente per il debug)

OK - un modo abbastanza strano per farlo, ma ...


7
Questo è davvero molto generoso. Potrebbe essere un metodo destinato a consentire al software di arrestare il sistema in modo da "arrestare l'emorragia" in caso di grave compromissione. Forzare l'arresto del sistema impedirebbe a chiunque di rubare dati.
Axxmasterr,

5

Chiamiamolo un uovo di Pasqua.

Complimenti ..... l'hai trovato!


3

Sembra qualcosa che non vale la pena dedicare tempo e fatica a rimuovere dalla base di codice.


No, è stato mantenuto perché è una funzione diagnostica inestimabile.
Synetech,

3

Sembra davvero uno scherzo divertente e pratico.


5
Usavo una scuola quando il mio insegnante stava arrivando e stavo giocando una partita a tutto tondo.
Kredns,

@Lucas: Aspetta, hai accesso come amministratore in un posto dove sei uno studente? : O
Joey,

@Johannes: Sì. È stato molto rilassato.
Kredns,

spoulson, ovviamente non sei un programmatore, o almeno non un debugger di basso livello.
Synetech,

2

Immagino che Microsoft esegua test di unità sul proprio sistema operativo prima di rilasciare aggiornamenti, ecc. Presumibilmente uno dei test sarebbe vedere se BSOD si comporta ancora come dovrebbe. Ha anche senso eseguire test unitari sulla versione reale del codice attivo per un test più affidabile.


Questo è utile per gli utenti (bene, i programmatori).
Synetech,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.