1、生成dmp的程序 #include <dbghelp.h> //设置异常处理回调函数 //异常处理代码 if (hFile!=INVALID_HANDLE_VALUE) ExInfo.ThreadId = ::GetCurrentThreadId(); // write the dump theApp.PostThreadMessage(WM_QUIT,0,0); 2、调试dump文件 1)用windbg。 2)用vc,把dmp文件和exe, pdb文件放在同一目录下, 然后用编译器(如vc)打开, 然后开始调试就会中断到刚才中断的地方. 3、以下是网上搜集到的条件,尚未验证是否是必需的,如果不能正确的生成dmp,可尝试以下方法 1)SetUnhandledExceptionFilter()并不能处理所有的异常,比如CRT异常需要调用_set_invalid_parameter_handler()才行 1)要设置c运行库异常处理函授。这样当出错后,会引发你的异常处理,你的处理中,可以直接丢掉或重新启动你的exe,或写入log文件。 2)注意生成的release应用程序需要开启“生成调试信息”选项。 2)使用VS2008的话,不需要开启“生成调试信息”选项就可以生成的。 3)编译release版本的时候同时生成map文件,具体可以在网上查找一下关于map文件的使用方法。 3)生成可执行文件时在工程属性设置里的“调试”选项里将“生成映射文件”设置为“是”。这主要是用来在出错时通过dump和map文件对错误定位。 4、其他工具 1)生成dump文件需要Dr.Watson,它是Windows自带的调试工具,只要对它进行了设置,程序出错后就可以在相应目录下找到dump文件。可参见如下资料:http://hi.baidu.com/mryongzhang/blog/item/11a774edf9b513d72e2e2167.html 2)adplus是最有用的工具,http://support.microsoft.com/kb/286350/ |
相关文章
- VS2010使用DX报错 VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。
- MVC学习系列5--Layout布局页和RenderSection的使用
- 类变量方法,局部变量和成员变量的区别(this关键字的使用)
- 如何使用virtualbox打开vmdk格式(vmware)的硬盘文件的靶机
- 不安全的文件上传漏洞之MIME type验证原理和绕过
- 解决使用Oracle库利用MyBatis配置文件逆向生成的实体类时mapping.xml里有重复的节点问题
- vs怎么将生成的exe文件拷贝到指定文件夹中
- AD如何生成Gerber文件和钻孔文件
- 如何在主机win10和虚拟机(virtualbox)中的Ubuntu进行文件传输即共享文件夹的建立
- Android-0.Android Studio NDK快速生成.h头文件和native函数声明