阅读:2353回复:11
WIN2K下,运行某个程序,机器蓝屏,出现一个IRQ错误,如何知道这个IRQ错误是哪个驱动程序引起的?
WIN2K下,运行某个程序,机器蓝屏,出现一个IRQ错误,如何知道这个IRQ错误是哪个驱动程序引起的?
|
|
沙发#
发布于:2003-11-12 12:21
某些错误可以通过分析蓝屏信息知道是哪个驱动程序引起的.
|
|
|
板凳#
发布于:2003-11-12 13:09
可以通过分析,崩溃转储文件查看信息。。。
|
|
|
地板#
发布于:2003-11-12 15:56
“崩溃转储文件”在哪里呀?
|
|
地下室#
发布于:2003-11-12 17:11
0X0A的含义是DRIVER在IRQL2或之上TOUCH了PAGEDPOOL的地址.
INSIDE W2K中提到IRQL2不能TOUCH PAGEDPOOL的地址.你看一下你的程序用到哪些DRIVER. 存储文件是MEMORY.DMP.缺省是在WINNT下的. 到MS的网上去下载WINDBG来看这个文件 |
|
5楼#
发布于:2003-11-13 08:15
转储文件好大呀!打开都这么慢!
不知如何看呀? |
|
6楼#
发布于:2003-11-13 08:25
转储文件好大呀!打开都这么慢! 到MS的网上去下载WINDBG |
|
|
7楼#
发布于:2003-11-13 13:51
安装微软的客户诊断工具,更重要的是安装符号表。用WinDBG打开dump文件就可以分析了
崩溃转储文件最好设置成“完全”,这种模式下dmp大小等于内存大小,更容易分析问题 |
|
8楼#
发布于:2003-11-14 08:41
转储文件中,前面是加载的SYS的说明,最后一部分是:
...... Module load:NAVENG.SYS(symbol | loading deferred) Could not get address of KiProcessorBlock Finished re-loading kernel modules Kernel Debugger connection established for C:\\WINNT\\MEMORY.DMP Kernel Version 2195 Free loaded @ ffffffff80400000 Bugcheck 000000d1 : 00000000 00000002 00000000 00000000 Stopped at an unexpected exception: code=80000003 addr=ffffffff80468b6f Hard coded breakpoint hit 请教如何看出哪个驱动出了问题呀? |
|
9楼#
发布于:2003-11-14 14:15
Hard coded breakpoint hit??
程序中加了INT3断点指令,把那些ASSERT什么的都去掉。。。。。。 |
|
|
10楼#
发布于:2003-11-17 17:43
用WINDBG联机调试应该是很容易的呀!
|
|
11楼#
发布于:2003-11-19 08:49
80468b6f 这是出错地址,看看它属于哪个驱动程序。
drivers可以列出所有的驱动的地址范围。 如果看不出来,就需要对栈进行分析了。如果栈没有被破坏,应该能够找出问题来的。 客户诊断工具中有一个程序专门用于分析dmp,可以看到更详细一点的资料,但不一定准确。准确的分析是要靠自己看的(就像scandisk对数据修复总是比人工修复的准确性差的多) |
|