我在使用 RFID Pad 和 BSOD 时遇到了一个奇怪的问题。
戴尔 Optiplex 7010,Win7,64 位,英特尔 Corie 7
问题是,在登录屏幕出现之前,我收到了 BSOD。但是,如果我在启动时从 USB 端口拔下 RFID 垫,PC 会显示登录屏幕,一切正常。然后我需要再次插入 RFID 垫。然后在一段未指定的时间后,我会随机收到另一个 BSOD。
我知道这个问题与 RFID 垫有关,因为当它被完全移除时,我从来没有遇到任何问题。没有任何错误日志可以给我任何线索来了解发生了什么。
问题是,我有另一台 Dell Optiplex 7010,规格完全相同,RFID 板和驱动程序也完全相同……运行正常,从未出现任何问题!因此,我尝试克隆此硬盘,但问题仍然存在。我甚至更换了主板。
我迄今为止尝试过的事情(但没有成功);
- 恢复电脑
- 重新格式化硬盘
- 重新安装最小操作系统(仅 Office)
- 仅重新安装操作系统(仅限 Windows)
- 安装了各种驱动程序版本
- 克隆现有(可运行)的 PC
- 更换主板
- 分析错误日志
- 编写自定义启动/关闭脚本(登录/注销时启用/禁用端口)
- 尝试使用第三方软件(devcon.exe)
- 二手 ENVy 电脑比较(未发现差异)
我的下一步是尝试完全不同的 PC 品牌/型号,但这仍然无法回答我为什么会发生这种情况。
我已经联系了开发人员,显然这是一个与驱动程序相关的“已知问题”。我只是想知道是否有任何方法可以“解决”他们的已知问题?
还有谁能想到问题可能出在哪里吗?
我已经包含了转储分析,如果它对任何人来说都有意义的话?
Debugging Details:
------------------
TRIAGER: Could not open triage file : e:\dump_analysis\program\triage\modclass.ini, error 2
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s".
FAULTING_IP:
nt!IofCallDriver+14
fffff800`03288894 fe4a43 dec byte ptr [rdx+43h]
EXCEPTION_RECORD: fffff880037b6d28 -- (.exr 0xfffff880037b6d28)
ExceptionAddress: fffff80003288894 (nt!IofCallDriver+0x0000000000000014)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000001
Parameter[1]: 0000000000000043
Attempt to write to address 0000000000000043
CONTEXT: fffff880037b6580 -- (.cxr 0xfffff880037b6580)
rax=0000000000000000 rbx=fffffa8015800000 rcx=fffffa800aa25050
rdx=0000000000000000 rsi=00000000fffff88a rdi=00000000fffff88a
rip=fffff80003288894 rsp=fffff880037b6f60 rbp=fffffa800aa25050
r8=0000000000000000 r9=fffff880033e4180 r10=fffffa80066f88e0
r11=fffffa80077bac60 r12=0000000000000001 r13=0000000000000003
r14=fffffa800aa25050 r15=0000000000000001
iopl=0 nv up ei pl zr na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010246
nt!IofCallDriver+0x14:
fffff800`03288894 fe4a43 dec byte ptr [rdx+43h] ds:002b:00000000`00000043=??
Resetting default scope
CUSTOMER_CRASH_COUNT: 1
PROCESS_NAME: System
CURRENT_IRQL: 0
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s".
EXCEPTION_PARAMETER1: 0000000000000001
EXCEPTION_PARAMETER2: 0000000000000043
WRITE_ADDRESS: GetPointerFromAddress: unable to read from fffff800034bb100
GetUlongFromAddress: unable to read from fffff800034bb1c0
0000000000000043 Nonpaged pool
FOLLOWUP_IP:
ftdibus+85fb
fffff880`064aa5fb ?? ???
BUGCHECK_STR: 0x7E
DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE
LAST_CONTROL_TRANSFER: from fffff880064aa5fb to fffff80003288894
STACK_TEXT:
fffff880`037b6f60 fffff880`064aa5fb : fffffa80`15800000 fffffa80`0aa25050 fffffa80`15800000 fffff880`04f632d9 : nt!IofCallDriver+0x14
fffff880`037b6f90 fffffa80`15800000 : fffffa80`0aa25050 fffffa80`15800000 fffff880`04f632d9 fffffa80`15800000 : ftdibus+0x85fb
fffff880`037b6f98 fffffa80`0aa25050 : fffffa80`15800000 fffff880`04f632d9 fffffa80`15800000 fffffa80`fffff88a : 0xfffffa80`15800000
fffff880`037b6fa0 fffffa80`15800000 : fffff880`04f632d9 fffffa80`15800000 fffffa80`fffff88a fffffa80`00000100 : 0xfffffa80`0aa25050
fffff880`037b6fa8 fffff880`04f632d9 : fffffa80`15800000 fffffa80`fffff88a fffffa80`00000100 fffff880`037b6fe0 : 0xfffffa80`15800000
fffff880`037b6fb0 fffff880`00000001 : fffffa80`0ae411b0 ffff0000`05318326 fffffa80`0ab96e90 00000000`00000001 : usbhub!UsbhFdoDeviceControl+0x1a5
fffff880`037b7010 fffffa80`0ae411b0 : ffff0000`05318326 fffffa80`0ab96e90 00000000`00000001 fffffa80`0ab9c830 : 0xfffff880`00000001
fffff880`037b7018 ffff0000`05318326 : fffffa80`0ab96e90 00000000`00000001 fffffa80`0ab9c830 fffff880`064aa8b7 : 0xfffffa80`0ae411b0
fffff880`037b7020 fffffa80`0ab96e90 : 00000000`00000001 fffffa80`0ab9c830 fffff880`064aa8b7 fffffa80`0ae411b0 : 0xffff0000`05318326
fffff880`037b7028 00000000`00000001 : fffffa80`0ab9c830 fffff880`064aa8b7 fffffa80`0ae411b0 fffffa80`0aa25050 : 0xfffffa80`0ab96e90
fffff880`037b7030 fffffa80`0ab9c830 : fffff880`064aa8b7 fffffa80`0ae411b0 fffffa80`0aa25050 fffffa80`0ae411b0 : 0x1
fffff880`037b7038 fffff880`064aa8b7 : fffffa80`0ae411b0 fffffa80`0aa25050 fffffa80`0ae411b0 00000000`00000000 : 0xfffffa80`0ab9c830
fffff880`037b7040 fffffa80`0ae411b0 : fffffa80`0aa25050 fffffa80`0ae411b0 00000000`00000000 fffffa80`0ab96e90 : ftdibus+0x88b7
fffff880`037b7048 fffffa80`0aa25050 : fffffa80`0ae411b0 00000000`00000000 fffffa80`0ab96e90 fffffa80`0000016d : 0xfffffa80`0ae411b0
fffff880`037b7050 fffffa80`0ae411b0 : 00000000`00000000 fffffa80`0ab96e90 fffffa80`0000016d 00000000`00000000 : 0xfffffa80`0aa25050
fffff880`037b7058 00000000`00000000 : fffffa80`0ab96e90 fffffa80`0000016d 00000000`00000000 fffff880`037b70c8 : 0xfffffa80`0ae411b0
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: ftdibus+85fb
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: ftdibus
IMAGE_NAME: ftdibus.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 46826082
STACK_COMMAND: .cxr 0xfffff880037b6580 ; kb
FAILURE_BUCKET_ID: X64_0x7E_ftdibus+85fb
BUCKET_ID: X64_0x7E_ftdibus+85fb
Followup: MachineOwner
欢迎任何意见或建议:)
答案1
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - “0x%08lx”处的指令引用了“0x%08lx”处的内存。该内存不能是“%s”。
有几个潜在问题可能会导致此异常发生。
- 可能是内存出了问题(也许,这种情况会在操作系统重新安装后持续存在)
- 尝试从机器中移除一个内存组件并/或进行更换。
- 驱动程序过时(可能)
- 访问制造商的网站,下载较新的驱动程序。
- 尝试降级操作系统并查看问题是否仍然存在。
- 潜在的硬件冲突(可能)
- 拔掉机器上的任何其他设备,看看错误是否消失。
- 或与系统相关的问题(不太可能)
- 从 cmd shell 运行 sfc /scannow。