DebugDiag 监控程序的崩溃 生成dump文件

Debug Diagnostic Tool(DebugDiag)

The Debug Diagnostic Tool (DebugDiag) is designed to assist in troubleshooting issues such as hangs, slow performance, memory leaks or fragmentation, and crashes in any user-mode process.

DebugDiag主要用来分析进程(用户态)的内存泄漏、崩溃等问题。

利用DebugDiag监控程序的崩溃时生成.dmp文件

建立监控规则

Debug Diagnostic Tool可以选择不同的规则来进行dump文件。可以根据程序崩溃时捕获dump文件,也可以根据性能指标来进行捕获,如CPU过高,死锁,HTTP响应时间过程等参数

Step 1

Step 2

Step 3

Step 4: 选择要监控的程序

Step 5: 选择Full Userdump

Step 6: 选择保存dump文件的目录

Step 7

Step 8
生成dump文件

当被监控程序崩溃时, DebugDiag会自动生成dump文件。
写了一个简单的MFC的崩溃测试程序。

程序主界面

点击Crash Test按钮后,调用如下代码:

// 测试崩溃的代码
void CpxMFCTestDlg::OnBnClickedButton1()
{
    // test for crash begin
    char *szTest = NULL;
    strcpy(szTest, "Hello World");
    // test for crash end
}

点击该按钮之后,DebugDiag会在C:\Dump下生成dump文件。


生成dump文件
利用windbg对dump文件进行分析

设置了Symbol File Path和Source File Path之后,即可调用!analyze -v命令对崩溃文件进行分析:

利用windbg分析dump文件

DebugDiag手动保存dump文件

也可以找到对应的进程,通过如下方法进行捕获。此种方式获取的dump文件放到C:\Program Files\DebugDiag\Logs\Misc下。


DebugDiag手动保存dump文件

dump文件保存地址

References:

http://www.pc6.com/softview/SoftView_102657.html
https://www.microsoft.com/en-us/download/details.aspx?id=26798
http://www.cnblogs.com/gmplayer/p/3220724.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,131评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,257评论 25 708
  • 雨落在玉溪的溫暖裏 洗去的是遠行的辛酸苦甜 那時間沈澱的真情 在濕透滴水的院子內 灑在不説話的對望 我看見了雲南真...
    蔡振源阅读 402评论 0 3
  • 清风算法 百度搜索于9月底推出清风算法,旨在严惩网站通过网页标题作弊,欺骗用户并获得点击的行为。 一、网页标题定义...
    兰州正浩阅读 365评论 0 0
  • 《说文解字》曰,“婚,婦家也。”“姻,壻家也。”壻,即女人依靠的对象。所以,婚姻即是女人及其依靠对象共同的家。所以...
    涂涂tyf阅读 894评论 6 6

友情链接更多精彩内容