När jag orkar ska jag skriva detta tydligare och därefter lägga till det i min FAQ. 
För några minuter sedan presenterades jag för en blåskärm på min IBM med Windows XP Professional!
För att sprida kunskapen om hur man hanterar detta så tänkte jag publicera hur jag går till väga för att reda ut detta.
En vacker dag ska jag tala om varför man gör allt detta.

För några minuter sedan presenterades jag för en blåskärm på min IBM med Windows XP Professional!

För att sprida kunskapen om hur man hanterar detta så tänkte jag publicera hur jag går till väga för att reda ut detta.
- Jag låter blåskärmen vara till dess datorn startar om per automatik. (Självklart har jag inställt att datorn ska göra det efter att ha loggat en minidump-fil)
- När jag har loggat in så möts jag av OS
ts önskemål om att få skicka informationen till Microsoft, vilket naturligtvis sker. Om du är paranoid och tror att pyttemjuk avser att nyttja denna information mot dig har du fel. Så är det bara. - Om du inte redan har installerat Micrsoft Debugging Tools, gör det. http://www.microsoft.com/whdc/ddk/de...g/default.mspx
Microsoft Debugging Tools startas. - För att kunna genomföra en debug så behöver du de symbolfiler som är kopplade till operativet. Vilka är nu dessa? Det spelar inte så stor roll. Det kan hanteras per automagik.
När du har startat Debugging Tools, gå till file-menyn. Välj "Symbol File Path...". Skriv in följande rad: SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols och klicka på OK. (Om du inte redan har en katalog som heter websymbols i rooten, skapa den. - Öppna nu dumpfilen som ligger i C:\Windows\Minidump. (File - Open Crash Dump...) Detta kan ta en stund eftersom Debugging Tools kommer att ladda hem de symbolfiler som krävs. När allt är klart ska det stå "kd>" långt ner till vänster i Debug-fönstret och en Disassembly-ruta har dykt upp.
- Följ nu instruktionen genom att skriva !analyze -v.
- Ofta kan man utläsa av det resultat som dyker upp exakt vad som är fel, i mitt fall:[kod]kd> !analyze -v
************************************************************ *******************
* *
* Bugcheck Analysis *
* *
************************************************************ *******************
THREAD_STUCK_IN_DEVICE_DRIVER_M (100000ea)
The device driver is spinning in an infinite loop, most likely waiting for
hardware to become idle. This usually indicates problem with the hardware
itself or with the device driver programming the hardware incorrectly.
If the kernel debugger is connected and running when watchdog detects a
timeout condition then DbgBreakPoint() will be called instead of KeBugCheckE
)
and detailed message including bugcheck arguments will be printed to the
debugger. This way we can identify an offending thread, set breakpoints in it,
and hit go to return to the spinning code to debug it further. Because
KeBugCheckE
) is not called the .bugcheck directive will not return bugcheck
information in this case. The arguments are already printed out to the kernel
debugger. You can also retrieve them from a global variable via
"dd watchdog!g_WdBugCheckData l5" (use dq on NT64).
On MP machines it is possible to hit a timeout when the spinning thread is
interrupted by hardware interrupt and ISR or DPC routine is running at the time
of the bugcheck (this is because the timeout's work item can be delivered and
handled on the second CPU and the same time). If this is the case you will have
to look deeper at the offending thread's stack (e.g. using dds) to determine
spinning code which caused the timeout to occur.
Arguments:
Arg1: 82624718, Pointer to a stuck thread object. Do .thread then kb on it to find
the hung location.
Arg2: 829a7008, Pointer to a DEFERRED_WATCHDOG object.
Arg3: 82ac0530, Pointer to offending driver name.
Arg4: 00000001, Number of times "intercepted" bugcheck 0xEA was hit (see notes).
Debugging Details:
------------------
Database SolnDb not connected
FAULTING_THREAD: 82624718
IMAGE_NAME: s3gsavmx.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 3e30f8a8
MODULE_NAME: s3gsavmx
FAULTING_MODULE: bf99e000 s3gsavmx
DEFAULT_BUCKET_ID: GRAPHICS_DRIVER_FAULT
BUGCHECK_STR: 0xEA
LAST_CONTROL_TRANSFER: from 804f43f7 to 805313cf
STACK_TEXT:
f3e476f0 804f43f7 00000000 f7ae6c0c 00000000 nt!KiUnlockDispatcherDatabase+0x77
f3e47700 f7276830 f7ae6c2c 00000000 00000000 nt!KeSetEvent+0x73
f3e479f0 804f816d f7ae6bdc f3e47a3c f3e47a30 watchdog!WatchdogKernelApc+0xf2
f3e47a40 806b138c 00000000 00000000 f3e47a58 nt!KiDeliverApc+0xb1
f3e47a40 806ac383 00000000 00000000 f3e47a58 hal!HalpApcInterrupt2ndEntry+0x31
f3e47adc f74ac56a 00000010 f7d56004 e1146010 hal!HalpAcpiTimerStallExecProc+0x63
WARNING: Stack unwind information not available. Following frames may be wrong.
f3e47adc f74ac56a 00000010 f7d56004 e1146010 s3gsavm+0x456a
f3e47afc bf99e53d f7d56004 0000e3db 000000c8 s3gsavm+0x456a
f3e47b40 bf9a19f9 e1146010 f3e47b80 ffffffc0 s3gsavmx+0x53d
00000000 00000000 00000000 00000000 00000000 s3gsavmx+0x39f9
f3e48690 8057d4c1 f3e48718 f3e4871c f3e4872c nt!KiCallUserMode+0x4
f3e486ec bf805674 00000002 f3e4873c 00000018 nt!KeUserModeCallback+0x87
f3e4876c bf895d1f bc64d4c0 0000000f 00000000 win32k!SfnDWORD+0xa0
f3e487b4 bf802802 4064d4c0 0000000f 00000000 win32k!xxxSendMessageToClient+0x174
f3e48800 bf80a4c6 bc64d4c0 0000000f 00000000 win32k!xxxSendMessageTimeout+0x1a6
f3e48820 bf807c4b bc64d4c0 0000000f 00000000 win32k!xxxSendMessage+0x1a
f3e4884c bf807d5c bc64d4c0 00000001 00eaf090 win32k!xxxUpdateWindow2+0x77
f3e4886c bf807ce9 bc64d4c0 00000001 bf807daa win32k!xxxInternalUpdateWindow+0x6d
f3e48878 bf807daa bc64d4c0 00eaf090 f3e48bfc win32k!xxxUpdateWindow+0xb
f3e48894 8052d571 00010116 0000005e 00000286 win32k!NtUserCallHwndLock+0x49
f3e48894 7ffe0304 00010116 0000005e 00000286 nt!KiSystemService+0xc4
00eaf0c4 00000000 00000000 00000000 00000000 SharedUserData!SystemCallStub+0x4
f3e48b5c 8057d4c1 f3e48be4 f3e48be8 f3e48bf8 nt!KiCallUserMode+0x4
f3e48bb8 bf805674 00000002 f3e48c08 00000018 nt!KeUserModeCallback+0x87
f3e48c38 bf807e76 bc6b1e38 0000007f 001792e0 win32k!SfnDWORD+0xa0
f3e48cac bf892dd4 e188c008 f3e48d64 00000000 win32k!xxxReceiveMessage+0xb5
f3e48ce8 bf8730c0 f3e48d14 000025ff 00000000 win32k!xxxRealInternalGetMessage+0x1ce
f3e48d48 8052d571 00eaff2c 00000000 00000000 win32k!NtUserPeekMessage+0x40
f3e48d48 7ffe0304 00eaff2c 00000000 00000000 nt!KiSystemService+0xc4
00eafed8 00000000 00000000 00000000 00000000 SharedUserData!SystemCallStub+0x4
STACK_COMMAND: .thread ffffffff82624718 ; kb
FOLLOWUP_NAME: MachineOwner
BUCKET_ID: 0xEA_IMAGE_s3gsavmx.dll_DATE_1_24_2003
Followup: MachineOwner
---------[/kod] (Ska jag vara helt ärlig, så är nog inte denna dump så värst bra som exempel då den kan peka på helt fel fel...
) - Mycket tyder i detta fall på att det är grafikdrivrutinen s3gsavmx.dll som strular. Inte helt omöjligt...

- Nästa steg är att slå på Verifier för denna drivrutin för att försöka fånga felet tidigare nästa gång. Debuggen avslutas.
- Start - Run - "Verifier" - Enter.
- "Create Standard..." Next.
- "Automatically select unsigned..." Next.
- Jag väljer "s3gsavmx.dll" i listan och klickar på "Finish".
- En omstart krävs för att verifiern ska göra nytta - starta om.
En vacker dag ska jag tala om varför man gör allt detta.
)

Comment