windows生成dump的方法

第一种: 通过任务管理器:这种适用在程序挂了(crash)的时候进程还未退出,比如我运行程序,出现了下面的错:

此时打开任务管理器,右击相应进程,点击"Create Dump File“:

一会创建完成:

然后把这个DMP文件拷到开发机器上,用VS打开: 会出现下面的界面,要想知道发生错误时候的调用栈,需要设置symbol的路径,点击”Set Symbol Paths“:

注意这个pdb要对应于crash的exe,否则调用栈没法显示:

设置完成后,点击”Debug with Native Only“ 你就可以看到调用栈了。

 

 

第二种: 改注册表

如果程序crash的时候没有框蹦出来,可以通过改注册表的设置让操作系统在程序crash的时候自动生成dump,并放到特定的目录下

增加注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps 

添加项如下图:

其中DumpType代表的含义是:

0 = Create a custom dump  
1 = Mini dump  
2 = Full dump  

qbreakpad是一个用于捕获应用程序崩溃信息的开源库,它可以在Windows操作系统上生成dump文件以帮助开发人员进行故障排查和分析。 若在使用qbreakpad时未能生成dump文件,可能是以下原因之一: 1. 未正确集成qbreakpad库:qbreakpad的集成过程可能需要一些配置和设置,如链接与编译选项的修改等。如果未正确集成qbreakpad库,就无法生成dump文件。 2. 未进行符号表设置:符号表用于将崩溃时的地址转化为函数名和行号,使得dump文件更加可读和有用。如果未正确设置符号表,在生成dump文件中将无法提供函数名和行号信息。 3. 未捕获到崩溃事件:生成dump文件的前提是程序崩溃或异常终止。如果程序未出现崩溃或异常终止的情况,自然也就无法生成相应的dump文件。 4. 程序权限不足:有些操作系统和程序环境可能需要特定的权限才能生成dump文件。如果程序未具备足够的权限,就无法生成dump文件。 针对以上问题,可以按照以下步骤进行排查和解决: 1. 确认是否正确集成了qbreakpad库,并检查相关的配置和设置是否正确。 2. 确保在程序中正确设置了符号表,以便生成有用的dump文件。 3. 确认程序是否有可能触发崩溃或异常终止的情况,并模拟相应的情况。 4. 检查程序的运行权限,确保程序具备生成dump文件所需的权限。 通过以上排查和解决步骤,应能够解决qbreakpad在Windows系统下未能生成dump文件的问题。如果问题仍然存在,可以进一步查阅相关资料或向qbreakpad的支持渠道寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值