结合drwtsn32.log和.Map文件的查看、定位程序错误位置

news/2024/11/30 18:40:21/

写下大致步骤方便以后查找

参考内容在两个链接的后半部分

http://blog.csdn.net/nokianasty/article/details/8504432

http://blog.chinaunix.net/uid-7186957-id-2677948.html

主要步骤:

1、在drwtsn32.log找到错误位置:错误 ->00458861 ff9098000000     call dword ptr [eax+0x98] ds:0023:bf0500f8=????????,记住其中的addr =00458861。

2、在对应的.map文件中的Address         Publics by Value       Rva+Base                                                  Lib:Object   的Rva+Base列找到刚刚大于00458861一点的行。如下:

        0001:000577d7       ?AfxCallWndProc@@YGJPAVCWnd@@PAUHWND__@@IIJ@Z 004587d7 f   nafxcw:wincore.obj
        0001:000578d4       ?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ 004588d4 f   nafxcw:wincore.obj

其中第二是我们所要找的行,第一行是需要用到定位的。

3、在第一行中找到nafxcw:wincore.obj位置(一般是xx.obj,这里没找到,只找到相关的nafxcw.lib)如下

Line numbers for D:\应用软件-安装\VC98\MFC\LIB\nafxcw.lib(wincore.cpp) segment .text

    35 0001:0005746e    38 0001:00057489    39 0001:000574c7    40 0001:00057505
    41 0001:00057543    53 0001:00057577    54 0001:0005757f    55 0001:00057595
    58 0001:000575b5    59 0001:000575be    60 0001:000575d1    61 0001:000575da

                                   。。。。。。。。。。。。。。。。。。。。。。

   205 0001:00057835   210 0001:0005783c   211 0001:00057840   212 0001:00057848
   215 0001:00057856   218 0001:00057867 
  219 0001:00057872   221 0001:0005787f
   223 0001:00057881   224 0001:00057886   226 0001:0005788a   230 0001:0005789e
   233 0001:000578a0   235 0001:000578a4   237 0001:000578ac   239 0001:000578b5
   240 0001:000578b7   241 0001:000578c3   244 0001:000578d4   247 0001:000578e6

4、要得到行数的地址:0x00458861-0x00400000(程序装载地址)-0x00001000(PE头文件的大小)=0x00057861

5、发现0x00057861在第3行中相应范围行为  211 0001:00057840   212 0001:00057848
                                                                                215 0001:00057856   218 0001:00057867 

说明问题就在wincore.cpp的212行到215行之间


http://www.ppmy.cn/news/363270.html

相关文章

drwtsn32.exe 是什么?drwtsn32.exe遇到问题需要关闭?

出现drwtsn32.exe这个问题,一般都是全新安装的系统,才会出现drwtsn32.exe遇到问题需要关闭。很郁闷,已经好多次了,今天把这个话题列出来,讨论一下。drwtsn32.exe是windows的一项磁盘检查程序,同时也是鸡肋程…

XP环境下调试诊断工具drwtsn32的使用说明

我们在使用程序过程中,经常会遇到如下的警告 在点击确定之后,出错的程序便退出了,这是由于当 Windows中出现程序错误时,系统将搜索错误处理程序。程序错误处理程序处理程序运行过程中出现的错误。如果系统找不到程序错误处理程序&…

drwtsn32.exe遇到问题需要关闭

出现drwtsn32.exe这个问题,一般都是全新安装的系统,才会出现drwtsn32.exe遇到问题需要关闭。很郁闷,已经好多次了,今天把这个话题列出来,讨论一下。drwtsn32.exe是windows的一项磁盘检查程序,同时也是鸡肋程…

drwtsn32.exe 遇到问题需要关闭

因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息 的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe 和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包…

drwtsn32 调试错误条件

发现 drwtsn32 调试错误可能条件: 1、打开vc设置中release下的调试信息生成选项 2、生成dmp文件或直接设置windbg为Postmortem Debugging,这时候kn命令找问题时,就能定位跟踪到函数的栈空间。

drwtsn32.exe 遇到问题需要关闭。我们对此引起的不便表示抱歉

我的机器老是这样。启动起来就有这个。。。 那位高手能告诉我这是怎么会事。故障的原因以及解决的办法。 最佳答案 drwtsn32.exe是windows的一项磁盘检查程序,同时也是鸡肋程序,最好的办法是将它禁用: 关闭Dr.Watson:在"开始…

打开网页中提示: drwtsn32.exe-应用程序错误-解决方法

打开网页中提示: drwtsn32.exe-应用程序错误 应用程序发生异常 未知的软件异常(0XC0000409),位置0X68D7295D。 解决方案: 1、运行"中输入"drwtsn32"命令,或者"开始"->"…

drwtsn32.exe 遇到问题须要关闭。我们对此引起的不便表示抱歉

我的机器老是这样。启动起来就有这个。。。 那位高手能告诉我这是怎么会事。故障的原因以及解决的办法。 最佳答案 drwtsn32.exe是windows的一项磁盘检查程序,同一时候也是鸡肋程序,最好的办法是将它禁用: 关闭Dr.Watson:在"…