Warum hat Windows immer noch die BSOD-Funktion bei Strg + Bildlauf + Bildlauf?

15

Während Windows XP herauskam, hörte ich von einer Testfunktion , die es gab, um manuell einen BSOD (Blue Screen Of Death) auszulösen . Ich habe auch gehört, dass dies in XP Service Pack 2 entfernt werden sollte. Es wurde nicht entfernt, es ist auch in Vista und Windows 7. Um dies zu aktivieren, navigieren Sie zu diesem Speicherort in der Registrierung:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ i8042prt \ Parameters

und addiere CrashOnCtrlScrollals a REG_DWORDmit dem Wert 1.

Jetzt neu starten und Ctrl+ Scroll Lock+ Scroll Lockdrücken, und Sie erhalten ein BSOD.

Warum ist diese Funktion immer noch verfügbar?

Kredns
quelle
3
Ich denke, Sie müssen Microsoft danach fragen.
DLH,
19
Da es einen obligatorischen Registry-Hack erfordert, glaube ich nicht, dass es ein Nachteil ist, ihn im System zu belassen. Niemand wird es wahrscheinlich versehentlich auslösen.
Sangretu
Funktioniert die Tastenfolge auch, wenn sie von einer RDP-Sitzung ausgelöst wird?
Axxmasterr
4
Da es sich um einen legitimen Anwendungsfall handelt, der für die Leute von Bedeutung ist, die den Kernel und die Gerätetreiber tatsächlich schreiben und debuggen, würde ich nicht erwarten, dass er entfernt wird. Das Aktivieren erfordert Schreibzugriff auf HKLM, und selbst wenn es aktiviert ist, erhalten Sie nur ein BSOD.
RBerteig
2
@Axxmaster: Nein, das wird es nicht, da die Tastenfolge in den Gerätetreibern für Tastaturen implementiert ist. Diese werden in einer RDP-Sitzung nicht benötigt oder gar verwendet.
Joey

Antworten:

34

Hiermit können Sie eine Unterbrechung des Kernel-Debuggers zulassen oder eine Kernel-Modus-Dump-Datei generieren. Normalerweise möchte ein Experte dies tun, wenn das Betriebssystem blockiert ist und nicht einmal auf STRG + ALT + ENTF reagiert, um die Speicherauszugsdatei abzurufen und zu ermitteln, bei welchem ​​Treiber Probleme auftreten.

Es entspricht logischerweise dem Aufruf der Kernel-API KeBugCheck mit dem Bugcheck 0xE2 (MANUALLY_INITIATED_CRASH). Beachten Sie auch, dass die Reg-Werte für den USB-Tastaturtreiber (kbdhid) in verschiedenen Reg-Schlüsseln festgelegt werden können als für den ps2-Treiber (i8042prt). Weitere Informationen dazu und zum Anpassen des verwendeten Tastenanschlags finden Sie im KB-Artikel 244139 .

Da dies in den tatsächlichen Tastaturtreibern implementiert ist, erwarte ich nicht, dass dies von einer RDP-Sitzung aus funktioniert, selbst wenn diese aktiviert ist.

Ari Pernick
quelle
1
Es ist auch für Hardware- und Treiberentwickler gedacht, die sich an einem bestimmten Punkt in den Debugger einklinken müssen. Und ich denke definitiv, dass dies die akzeptierte Antwort sein sollte.
Joey
6

Wenn wir großzügig sind, könnte es vielleicht als überbegeisterte Methode verwendet werden, einen Absturzspeicherauszug zu erzwingen, um den Systemzustand manuell zu untersuchen? (hauptsächlich zum Debuggen)

OK - ein ziemlich seltsamer Weg, aber ...

Marc Gravell
quelle
7
Das ist in der Tat sehr großzügig. Dies könnte eine Methode sein, die es der Software ermöglichen soll, das System zum Absturz zu bringen, um im Falle eines schwerwiegenden Kompromisses die Blutung zu stoppen. Wenn Sie das System zum Herunterfahren zwingen, kann niemand Daten stehlen.
Axxmasterr
5

Nennen wir es ein Osterei.

Herzlichen Glückwunsch ... Sie haben es gefunden!

DLH
quelle
3

Es klingt nach etwas, das sich nicht gelohnt hat, es aus der Codebasis zu entfernen.

Jeffrey
quelle
Nein, es wurde beibehalten, weil es eine unschätzbare Diagnosefunktion ist.
Synetech
3

Das klingt wirklich nach einem lustigen Scherz.

Spoulson
quelle
5
Ich habe es früher als Schule benutzt, als mein Lehrer kam und ich ein Fullsceen-Spiel spielte.
Kredns
@Lucas: Warten Sie, Sie haben Administratorzugriff an einem Ort, an dem Sie Student sind? : O
Joey
@ Johannes: Ja. Es war sehr nachlässig.
Kredns
Spoulson, offensichtlich sind Sie kein Programmierer oder zumindest kein Low-Level-Debugger.
Synetech
2

Ich würde mir vorstellen, dass Microsoft Unit-Tests auf dem Betriebssystem durchführt, bevor Updates usw. veröffentlicht werden. Vermutlich besteht einer der Tests darin, festzustellen, ob sich BSOD immer noch so verhält, wie es sollte. Es ist auch sinnvoll, Komponententests mit der echten aktiven Codeversion durchzuführen, um einen zuverlässigeren Test zu erhalten.

Vdex
quelle
Dies hat Verwendung für Benutzer (na ja, Programmierer).
Synetech
2

Sie sollten sich Mark Russinovichs Videos ansehen, in denen er zeigt, wie mit dieser "Funktion" System-Hangs diagnostiziert werden. Ich denke, es wurde nur in SP2 ausgeschaltet, nicht entfernt.

kpierce8
quelle