windows程序崩溃调试终极武器—dump文件
一、前言
前不久开发了一款windows程序,目前已经是测试跑了,对于windows程序熟悉的童鞋,应该都知道一个事,就是他运行时有一个黑框,如果崩溃的就是下面这种情形~
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QBnXE8go-1599873016190)(https://imgkr2.cn-bj.ufileos.com/3d8c2beb-b08a-4fc2-9486-3486f2ea1a9c.png?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=U7ib82jgzbzZWk404FIR6dNkwE0%253D&Expires=1599957378)]
这种情况有时候会给我们一种不知所措的感觉,看日志吧有时候崩溃了,不一定出现在什么地方;异常处理吧,又不像JAVA那么多的异常,所以很多时候,我们遇到这种情况就有些不知所措了
今天,带来一款终极秘密武器—dump文件;
二、实战
1、dump文件简介
dump文件是进程的内存镜像,可以吧程序的执行状态通过调试器保存到dump文件中;
2、通过任务管理生成dump文件
首先,我们写一段测试程序:
#include <iostream>
using namespace std;
void fun(int* p)
{
p[0] = 1;
}
int main()
{
fun(NULL);
return 0;
}
然后我们编译一把,再运行
我们会得到这么一个错误:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ugyHxeNO-1599873016192)(https://imgkr2.cn-bj.ufileos.com/1f8266de-37d1-4baa-a16c-2abc1b4b56b3.png?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=b1yked4MlBZ2U3dTh08Q%252BPvK39w%253D&Expires=1599957393)]
此时,我们不要做关闭这个框,我们只需要吧任务管理器打开,找到该进程,然后导出文件就可以了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-utgchDhh-1599873016193)(https://imgkr2.cn-bj.ufileos.com/c85f06b2-9e36-40ad-a3db-db212546fbb1.png?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=%252FDmvqiGDFEPHGBG1Dos%252By91vPCU%253D&Expires=1599957402)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(