Kernel Mode Debugging - Scenario 1: Lighting up a third party driver

  1. kd> !analyze -v

  2. *******************************************************************************

  3. * Bugcheck Analysis

  4. *******************************************************************************

  5. WORKER_THREAD_RETURNED_AT_BAD_IRQL (e1)

  6. Arguments:

  7. Arg1: 804219e4, address of worker routine (do ln on this to find guilty driver)

  8. Arg2: 00000002, IRQL returned at (should have been 0, but isn't).

  9. Arg3: 819b7328, workitem parameter

  10. Arg4: 819b7328, workitem address

  11. Debugging Details:

  12. FAULTING_IP:

  13. nt!IopProcessWorkItem+0

  14. 804219e4 8b442404 mov eax,dword ptr [esp+4]

  15. DEFAULT_BUCKET_ID: DRIVER_FAULT

  16. BUGCHECK_STR: 0xE1

  17. LAST_CONTROL_TRANSFER: from 80454faf to 80418c8e

  18. STACK_TEXT:

  19. f2453da8 80454faf 819b7328 00000000 00000000 nt!ExpWorkerThread+0xf3

  20. f2453ddc 80468ec2 80418b84 00000001 00000000 nt!PspSystemThreadStartup+0x69

  21. 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

  22. STACK_COMMAND: .bugcheck ; kb

  23. FOLLOWUP_IP:

  24. nt!IopProcessWorkItem+0

  25. 804219e4 8b442404 mov eax,dword ptr [esp+4]

  26. SYMBOL_NAME: nt!IopProcessWorkItem+0

  27. FOLLOWUP_NAME: MachineOwner

  28. MODULE_NAME: nt

  29. IMAGE_NAME: ntoskrnl.exe

  30. DEBUG_FLR_IMAGE_TIMESTAMP: 3ad7ad60

  31. FAILURE_BUCKET_ID: 0xE1_nt!IopProcessWorkItem+0

  32. BUCKET_ID: 0xE1_nt!IopProcessWorkItem+0

  33. Followup: MachineOwner

  34. kd> dps 819b7328

  35. 819b7328 819b7368

  36. 819b732c 000012e6

  37. 819b7330 804219e4 nt!IopProcessWorkItem

  38. 819b7334 819b7328

  39. 819b7338 f21e3c40 ABC+0x3c40

  40. 819b733c 81a19030

  41. 819b7340 819b7328

  42. 819b7344 e1d7d128

  43. 819b7348 e1d7d140

  44. 819b734c c0000000

  45. 819b7350 00000000

  46. 819b7354 00000000

  47. 819b7358 00000000

  48. 819b735c 00310001

  49. 819b7360 02010002

  50. 819b7364 ee657645

  51. 819b7368 819a2c08

  52. 819b736c 00000000

  53. 819b7370 bad0b0b0

  54. 819b7374 02000000

  55. 819b7378 00000001

  56. 819b737c 00000000

  57. 819b7380 81044701

  58. 819b7384 00000000

  59. 819b7388 819b7388

  60. 819b738c 819b7388

  61. 819b7390 00000000

  62. 819b7394 00000000

  63. 819b7398 00000000

  64. 819b739c 00000000

  65. 819b73a0 02018002

  66. 819b73a4 64504443

  67. kd> lmvm cdp

  68. start end module name

  69. f21e0000 f21ee200 ABC (no symbols)

  70.     Loaded symbol image file: ABC.sys

  71.     Image path: \SystemRoot\System32\DRIVERS\ABC.sys

  72.     Image name: ABC.sys

  73.     Timestamp: Tue Jan 08 15:21:57 2002 (3C3B7F15)

  74.     CheckSum: 000193A8

  75.     ImageSize: 0000E200

  76.     Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4

  77. kd> .sympath+ c:\temp\symbols\scenario1

  78. kd> .reload

  79. Loading Kernel Symbols

  80. Loading User Symbols

  81. Loading unloaded module list

  82. kd> dps 819b7328

  83. 819b7328 819b7368

  84. 819b732c 000012e6

  85. 819b7330 804219e4 nt!IopProcessWorkItem

  86. 819b7334 819b7328

  87. 819b7338 f21e3c40 cdp!SendCDPPacketRoutine [d:\vob\fmm\ABC\driver\device.cpp @ 209]

  88. 819b733c 81a19030

  89. 819b7340 819b7328

  90. 819b7344 e1d7d128

  91. 819b7348 e1d7d140

  92. 819b734c c0000000

  93. 819b7350 00000000

  94. 819b7354 00000000

  95. 819b7358 00000000

  96. 819b735c 00310001

  97. 819b7360 02010002

  98. 819b7364 ee657645

  99. 819b7368 819a2c08

  100. 819b736c 00000000

  101. 819b7370 bad0b0b0

  102. 819b7374 02000000

  103. 819b7378 00000001

  104. 819b737c 00000000

  105. 819b7380 81044701

  106. 819b7384 00000000

  107. 819b7388 819b7388

  108. 819b738c 819b7388

  109. 819b7390 00000000

  110. 819b7394 00000000

  111. 819b7398 00000000

  112. 819b739c 00000000

  113. 819b73a0 02018002

  114. 819b73a4 64504443