【问题标题】:BSOD 0xC4 on Windows 10Windows 10 上的蓝屏 0xC4
【发布时间】:2015-10-15 14:42:25
【问题描述】:

我有一个使用 WDK 8.1 构建的驱动程序,我正在尝试在 Windows 10 上运行它 启用了代码完整性检查的验证程序。启动驱动程序时收到以下蓝屏:
我是否需要通过更改任何设置来重建驱动程序。 “Arg1: 00002000, 驱动违规的子类”是什么意思。

                      Bugcheck Analysis:  
DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
A device driver attempting to corrupt the system has been caught.  This is
because the driver was specified in the registry as being suspect (by the
administrator) and the kernel has enabled substantial checking of this     driver.
If the driver attempts to corrupt the system, bugchecks 0xC4, 0xC1 and 0xA will
be among the most commonly seen crashes.

Arguments:

Arg1: 00002000, subclass of driver violation.
Arg2: 93d76b70
Arg3: 00000000
Arg4: 00000000

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

Failed calling InternetOpenUrl, GLE=12007

BUGCHECK_STR:  0xc4_2000

IMAGE_NAME:  McPvDrv.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  5317613a

MODULE_NAME: McPvDrv

FAULTING_MODULE: 93d70000 McPvDrv

DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT

PROCESS_NAME:  System

CURRENT_IRQL:  0

LAST_CONTROL_TRANSFER:  from 8277336a to 8233bac4

STACK_TEXT:  
876c76d8 8277336a 000000c4 00002000 93d76b70 nt!KeBugCheckEx
876c76fc 8241f7ea 93d76b70 00000000 00000000 nt!VerifierBugCheckIfAppropriate+0x36
876c771c 8276c018 93d76b70 00000000 00000000 nt!VfReportIssueWithOptions+0xd3
876c773c 8276a4b7 00000000 00000000 876c77c4 nt!VfCheckPoolType+0x61
876c774c 93d76b70 00000000 00000014 0000002d nt!VerifierExAllocatePool+0x15
WARNING: Stack unwind information not available. Following frames may be wrong.
876c77c4 93d7581d 93d7e14c 00000020 876c79ec McPvDrv+0x6b70
876c7a34 93d75fc1 93d73dba 00000001 71bfe534 McPvDrv+0x581d
876c7ae0 93d7145c b27cef30 860ebbe0 82217938 McPvDrv+0x5fc1
876c7b20 825a2920 b27cef30 b27ef000 ab95fcf0 McPvDrv+0x145c
876c7d00 825bd192 00000000 876c7d1c ab95fcf0 nt!IopLoadDriver+0x62a
876c7d20 82314145 ab95fcf0 00000000 861a8700 nt!IopLoadUnloadDriver+0x42
876c7d70 822a3da1 82487220 71bfe2e4 00000000 nt!ExpWorkerThread+0xd5
876c7db0 8234f2f1 82314070 82487220 00000000 nt!PspSystemThreadStartup+0x5b
876c7dbc 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x15


STACK_COMMAND:  kb

FOLLOWUP_IP: 
McPvDrv+6b70
93d76b70 8bf0            mov     esi,eax

SYMBOL_STACK_INDEX:  5

SYMBOL_NAME:  McPvDrv+6b70

FOLLOWUP_NAME:  wintriag

FAILURE_BUCKET_ID:  0xc4_2000_VRF_McPvDrv+6b70

BUCKET_ID:  0xc4_2000_VRF_McPvDrv+6b70

Followup: wintriag

【问题讨论】:

    标签: windows device-driver bsod


    【解决方案1】:

    根据https://msdn.microsoft.com/en-us/library/windows/hardware/ff560187(v=vs.85).aspx arg 0x2000 表明您正在调用 StorPortInitialize 函数

    请仔细检查您使用的操作系统符号是否正确,否则调试器输出可能完全错误!还包括驱动程序的符号文件夹路径(文件 -> 符号文件路径)。 您在这里:https://msdn.microsoft.com/en-us/library/windows/desktop/ms681416(v=vs.85).aspx 详细了解如何使用 Microsoft 符号服务器来下载所需的操作系统符号。 您可以在符号路径中添加类似 srvc:\MyTempSymbolFolderhttp://msdl.microsoft.com/download/symbols 的内容,但请务必使用“;”划定符号路径

    这样做之后应该可以在windbg中成功执行这个命令了: .reload /f nt .reload /f McPvDrv.sys

    现在重新运行 !analyze -v 命令,它可能会显示修改后的调用堆栈

    【讨论】:

      猜你喜欢
      • 2017-10-28
      • 1970-01-01
      • 2022-11-26
      • 2015-12-28
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多