您的位置:首页 > 其它

定位程序crash的方法。

2013-05-08 00:03 369 查看
一、利用工具,比如CrashFinder。先来测试一段简单除0代码出错。

#include <iostream>

int crash(int x, int y)
{
return  x / y;
}

int main()
{
int ret = crash(80, 0);
std::cout << ret << std::endl;
return 0;
}


当前代码我用vs2008,release模式编译一下。直接单独运行一下exe,得到下面的错误。位置为 0x00401678。



二、我们把CrashFinder放到Release目录下。如下图所示。(注意,必须保证vs生成有.pdb文件)



打开CrashFinder,选择new,然后选exe进去,输入401678,点find。结果如下图所示。



程序准确显示具体地方所调用的出错函数。然后可以进一步仔细检查。

参考资料:

定位程序Crash常用工具和方法

如何定位导致Crash的代码位置

CrashFinder,找到崩溃代码行

CrashFinder下载地址:http://download.csdn.net/detail/hayyoung/5342557
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: