阅读:1597回复:10
蓝屏故障,原因何在?
我写的驱动程序功能实现,运行期间一切正常。然而当我重新启动机器时总是出现蓝错误,错误提示如下:
***stop 0x0000000A(0x00000020,0x000000FF,0x00000001,0x800690A6) *** Address 800690A6 base at 80062000,DataStamp 3as48741 -hal.dll IRQL_NOT_LESS_OR_EQUAL 即使把驱动程序卸载(从控制面板中),并删除注册表及系统中所有被修改的地方,问题依旧。 我的OS是Windows 2000 Professional,请问这是我的驱动程序的问题,还是其他原因?应该如何解决? |
|
最新喜欢:![]()
|
沙发#
发布于:2002-04-24 12:33
你试一下恢复前一次的正确配置。原因恐怕很难说清楚。
|
|
|
板凳#
发布于:2002-04-24 12:37
The IRQL_NOT_LESS_OR_EQUAL bug check has value 0x0000000A. This signals that the driver accessed paged memory at DISPATCH_LEVEL or above.
Parameters The following parameters are displayed on the blue screen. Parameter Description 1 Memory referenced 2 IRQL at time of reference 3 0: Read 1: Write 4 Address which referenced memory Cause The error that generates this bug check usually occurs after the installation of a buggy device driver, system service, or BIOS. If you encounter bug check 0xA while upgrading to a later version of Microsoft? Windows?, this error might be caused by a device driver, a system service, a virus scanner, or a backup tool that is incompatible with the new version. Resolving the Problem To resolve an error caused by a buggy device driver, system service, or BIOS: Restart your computer. Press F8 at the character-based menu that displays the operating system choices. Select the Last Known Good Configuration option from the Windows Advanced Options menu. This option is most effective when only one driver or service is added at a time. To resolve an error caused by an incompatible device driver, system service, virus scanner, or backup tool: Check the System Log in Event Viewer for error messages that might identify the device or driver that caused the error. Try disabling memory caching of the BIOS. Run the hardware diagnostics supplied by the system manufacturer, especially the memory scanner. For details on these procedures, see the owner’s manual for your computer. Make sure the latest Service Pack is installed. If your system has small computer system interface (SCSI) adapters, contact the adapter manufacturer to obtain updated Windows drivers. Try disabling sync negotiation in the SCSI BIOS, checking the cabling and the SCSI IDs of each device, and confirming proper termination. For integrated device electronics (IDE) devices, define the onboard IDE port as Primary only. Also, check each IDE device for the proper master/slave/stand-alone setting. Try removing all IDE devices except for hard disks. If the message appears during an installation of Windows, make sure that the computer and all installed peripherals are listed on the Microsoft Windows Hardware Compatibility List (HCL). Here is a debugging example: kd> .bugcheck [Lists bugcheck data.] Bugcheck code 0000000a Arguments 00000000 0000001c 00000000 00000000 kd> kb [Lists the stack trace.] ChildEBP RetAddr Args to Child 8013ed5c 801263ba 00000000 00000000 e12ab000 NT!_DbgBreakPoint 8013eecc 801389ee 0000000a 00000000 0000001c NT!_KeBugCheckEx+0x194 8013eecc 00000000 0000000a 00000000 0000001c NT!_KiTrap0E+0x256 8013ed5c 801263ba 00000000 00000000 e12ab000 8013ef64 00000246 fe551aa1 ff690268 00000002 NT!_KeBugCheckEx+0x194 kd> kv [Lists the trap frames.] ChildEBP RetAddr Args to Child 8013ed5c 801263ba 00000000 00000000 e12ab000 NT!_DbgBreakPoint (FPO: [0,0,0]) 8013eecc 801389ee 0000000a 00000000 0000001c NT!_KeBugCheckEx+0x194 8013eecc 00000000 0000000a 00000000 0000001c NT!_KiTrap0E+0x256 (FPO: [0,0] TrapFrame @ 8013eee8) 8013ed5c 801263ba 00000000 00000000 e12ab000 8013ef64 00000246 fe551aa1 ff690268 00000002 NT!_KeBugCheckEx+0x194 kd> .trap 8013eee8 [Gets the registers for the trap frame at the time of the fault.] eax=dec80201 ebx=ffdff420 ecx=8013c71c edx=000003f8 esi=00000000 edi=87038e10 eip=00000000 esp=8013ef5c ebp=8013ef64 iopl=0 nv up ei pl nz na pe nc cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010202 ErrCode = 00000000 00000000 ??????????????? [The current instruction pointer is NULL.] kd> kb [Gives the stack trace before the fault.] ChildEBP RetAddr Args to Child 8013ef68 fe551aa1 ff690268 00000002 fe5620d2 NT!_DbgBreakPoint 8013ef74 fe5620d2 fe5620da ff690268 80404690 NDIS!_EthFilterIndicateReceiveComplete+0x31 8013ef64 00000246 fe551aa1 ff690268 00000002 elnkii!_ElnkiiRcvInterruptDpc+0x1d0 Comments Before upgrading to a new version of Windows, remove all third-party device drivers and system services, and disable any virus scanners. Contact the software manufacturers to obtain updates of these third-party tools. |
|
地板#
发布于:2002-04-24 13:32
谢谢两位的回答,我觉得奇怪的是,为了保险,我全部采用非分页内存,并分别在清理和关闭例程中释放它们。运行期间一切正常。
|
|
|
地下室#
发布于:2002-04-24 13:47
你的电源处理例程对吗?因为在开机和关机的时候有的驱动程序是需要处理这些请求的!
|
|
5楼#
发布于:2002-04-24 14:24
我的电源处理例程直接传给下层驱动程序处理的。会有问题吗 ?
顺便说一下,我的驱动是一个文件系统的过滤驱动。 |
|
|
6楼#
发布于:2002-04-24 14:39
你试一下恢复前一次的正确配置。原因恐怕很难说清楚。 我这样做了,故障依旧。 |
|
|
7楼#
发布于:2002-04-24 15:39
我看IFS文档中说,文件过滤驱动程序不是PNP程序,不会收到也不应该处理PNP和POWER IRP,你看看是不是这个原因。
|
|
|
8楼#
发布于:2002-04-24 15:49
是呀,文件过滤驱动不会收到PNP和电源管理的请求的。
你的这个现象,我这里有,每次关机差不多都会,没有运行那个驱程都会,怪,当然,disable SoftIce后就不会了呵呵 |
|
|
9楼#
发布于:2002-04-24 16:03
啊!还有一个就是也许是SOFTICE的原因的
|
|
10楼#
发布于:2002-04-24 17:27
先谢谢各位的回答,先去看看能不能解决这个问题。
|
|
|