BSOD auslösen unter Windows 7

Es hört sich etwas verrückt an, aber tatsächlich gibt es Situationen an denen man einen Blue Screen braucht. Und zwar wenn das System so eingefroren ist, dass man weder Taskmanager noch Ctrl+Alt+Entf einsetzen kann, um sich irgendwie aus der Klemme zu helfen. In diesem Fall bleibt normalerweise nur ein Reset – und beraubt sich damit in der Regel jede Möglichkeit einer Fehleranalyse.

Unter dem Absatz „Methods to generate a manual memory dump file“ listet der Microsoft KB-Artikel 969028 interessante Möglichkeiten für eine solche Situation auf.

Mein Favorit: CrashOnCtrlScroll. Natürlich muss man das vorher einstellen, aber man muss nicht mal booten sofern man die USB-Tastatur einmal abzieht und wieder einsteckt. Wenn man den Registry-Eintrag gemacht hat, schaut man mit einem beherzten Strg+ScrollLock+ScrollLock (auf deutschen Tastaturen auch „Rollen“) auf einen hübschen Blue Screen of Death. Und wenn das unbekannte Problem wieder auftritt kann man per Tastenkombination einen Minidump erzeugen und sich später mit WinDebug den Crashdump ansehen. Wenn das Problem z.B. durch ein Treiber ausgelöst wird, sollte mit etwas Glück die entsprechende .sys-Datei noch im Stack zu finden sein.

Das ganze sieht dann z.B. so aus:

1: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

MANUALLY_INITIATED_CRASH (e2)
The user manually initiated this crash dump.
Arguments:
Arg1: 0000000000000000
Arg2: 0000000000000000
Arg3: 0000000000000000
Arg4: 0000000000000000

Debugging Details:
------------------

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT

BUGCHECK_STR:  0xE2

PROCESS_NAME:  System

CURRENT_IRQL:  2

LAST_CONTROL_TRANSFER:  from fffff88005bd4dcf to fffff80002a7cf00

STACK_TEXT:
fffff880`0351b5a8 fffff880`05bd4dcf : 00000000`000000e2 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KeBugCheckEx
fffff880`0351b5b0 fffff880`05bd490b : fffffa80`0377c6b8 00000000`00000000 00000000`00000000 fffffa80`05f7f970 : kbdhid!KbdHidProcessCrashDump+0x1df
fffff880`0351b5f0 fffff880`05b96629 : fffffa80`068a8970 fffffa80`068ab190 fffffa80`00000000 00000000`0000000e : kbdhid!KbdHid_InsertCodesIntoQueue+0xbb
fffff880`0351b650 fffff880`05b9687c : fffffa80`000000c6 fffffa80`068ab190 00000000`0000000e 00000000`00000001 : HIDPARSE!HidP_KbdPutKey+0x3d
fffff880`0351b680 fffff880`05b967d2 : 00000000`00000000 fffff880`05b949d6 00000000`00000007 fffff880`05060000 : HIDPARSE!HidP_TranslateUsage+0x6c
fffff880`0351b6c0 fffff880`05bd461e : 00000000`00000000 fffffa80`068a893c fffffa80`068a8860 00000000`00000000 : HIDPARSE!HidP_TranslateUsageAndPagesToI8042ScanCodes+0xde
fffff880`0351b720 fffff800`02a7f516 : fffffa80`068bf88b fffff880`00000001 fffffa80`00000000 00000000`00000009 : kbdhid!KbdHid_ReadComplete+0x222
fffff880`0351b7a0 fffff880`05b7eacc : fffffa80`068aacc0 fffffa80`068aac06 fffffa80`06895c00 00000000`00000000 : nt!IopfCompleteRequest+0x3a6
fffff880`0351b880 fffff880`05b7ed35 : fffffa80`0688e302 fffffa80`0688e3c0 fffffa80`06895cb0 00000000`00000008 : HIDCLASS!HidpDistributeInterruptReport+0x130
fffff880`0351b910 fffff800`02a7f516 : fffffa80`0686fb1b 00000000`00000000 fffffa80`06895b01 fffffa80`0686f850 : HIDCLASS!HidpInterruptReadComplete+0x235
fffff880`0351b9a0 fffff880`045735d9 : fffffa80`05a08050 fffffa80`03fe6600 00000000`00000000 00000000`00000000 : nt!IopfCompleteRequest+0x3a6
fffff880`0351ba80 fffff880`04573ab7 : fffffa80`07987502 fffffa80`0686f850 00000000`ffffffff fffffa80`05a08ea8 : USBPORT!USBPORT_Core_iCompleteDoneTransfer+0xa15
fffff880`0351bb60 fffff880`0457164f : fffffa80`05a08ea8 fffffa80`05a081a0 fffffa80`05a09040 00000000`00000000 : USBPORT!USBPORT_Core_iIrpCsqCompleteDoneTransfer+0x3a7
fffff880`0351bbc0 fffff880`04562f89 : fffffa80`05a08050 00000000`00000000 fffffa80`058af702 fffffa80`05a08ea8 : USBPORT!USBPORT_Core_UsbIocDpc_Worker+0xf3
fffff880`0351bc00 fffff880`0106f4ce : fffffa80`058af000 fffffa80`05a08ea8 fffffa80`058af750 fffffa80`05a08ec0 : USBPORT!USBPORT_Xdpc_Worker+0x1d9
fffff880`0351bc30 fffffa80`058af000 : fffffa80`05a08ea8 fffffa80`058af750 fffffa80`05a08ec0 fffff880`009ef180 : spxe+0x424ce
fffff880`0351bc38 fffffa80`05a08ea8 : fffffa80`058af750 fffffa80`05a08ec0 fffff880`009ef180 00000000`00000000 : 0xfffffa80`058af000
fffff880`0351bc40 fffffa80`058af750 : fffffa80`05a08ec0 fffff880`009ef180 00000000`00000000 fffff880`009f3ec0 : 0xfffffa80`05a08ea8
fffff880`0351bc48 fffffa80`05a08ec0 : fffff880`009ef180 00000000`00000000 fffff880`009f3ec0 00000000`00000022 : 0xfffffa80`058af750
fffff880`0351bc50 fffff880`009ef180 : 00000000`00000000 fffff880`009f3ec0 00000000`00000022 00000000`00000000 : 0xfffffa80`05a08ec0
fffff880`0351bc58 00000000`00000000 : fffff880`009f3ec0 00000000`00000022 00000000`00000000 00000000`00000000 : 0xfffff880`009ef180

[...]