更多精彩内容 |
---|
个人内容分类汇总 |
C++软件调试、异常定位 |
前面介绍了多种自动生成Dump文件的方法例如使用dbghelp.dll、qbreakpad、procdump等,都非常好用但是:
- 都需要配置环境或者修改代码;
- 在程序异常崩溃时或者满足一定条件时才能生成Dump;
本文将介绍使用3款【任务管理器】来导出运行中程序的Dump文件,方法无优劣,只有适合不适合。
- 使用系统自带的任务管理器;
- 使用微软开发的进程资源管理器Process Explorer(一款增强版任务管理器);
- 使用Process Hacker,一款免费、功能强大的多功能工具,可帮助您监控系统资源、调试软件和检测恶意软件。(一款增强版任务管理器);
- 使用这三款任务管理器可以在如何时间将正在运行的程序导出Dump文件,可用于当程序卡死,死锁,死循环,CPU占用率高、内存消耗大等情况;
- 这三款软件各有优劣,具体使用哪一款可以自己考虑;
- 这里只讲如何使用这三款软件导出Dump,如何调试后面再讲;
- 这三款软件还有非常多强大的功能可以探索,这里不会细说。
运行一个程序,最好是使用MSVC编译的程序;
打开任务管理器,选中运行的程序,右键点击【创建转储文件】,然后就可以生成dum文件了,
打开Process Explorer,输入程序名称可以过滤掉其它进程,选中untitled5.exe,鼠标右键选择【Create Dump】,然后有两个选项,都可以生成Dump文件;
打开Process Hacker,输入程序名称可以过滤掉其它进程,选中untitled5.exe,鼠标右键选择【Create Dump file】,然后就可以生成Dump文件;