C++ crash 堆栈信息获取

Posted 朝十晚八

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ crash 堆栈信息获取相关的知识,希望对你有一定的参考价值。

最近在做程序异常时堆栈信息获取相关工作,上一篇文章成功的在程序creash时写下了dump文件,而有些情况写dump文件是

不可以的,比如在jni开发时,C++只做底层处理,而整个项目是android工程,这个时候dump文件没有了优势,那么只能在程序

creash时把内存信息打印出来,获取输出到文件中。
    下面讲述下我在做堆栈信息获取时的一些经验:


文章1:在Windows下如何在程序中获得当前调用栈信息
文章2:让程序在崩溃时体面的退出之Dump文件
文章3:让程序在崩溃时体面的退出之CallStack

   从名称上就可以看出,文章2是生成dump文件的,我的上一篇文章中也可以生成dump文件,不过看到该作者的这篇文章时,绝

得这篇文章写的也很详细,所以特贴此连接,供大家学习。
  
文章1和文章3我都成功的显示出了堆栈信息,不过情况不太一样,下面我就说说不一样的地方:
    我的环境:win7 + vs2013 qt多线程窗口程序

文章1:main函数中主动输出堆栈信息,结果成功,在creash时输出的信息没用
文章3:creash时可以输出有用的堆栈信息


虽然都是别人的文档,但是通过我描述的东西可以成功达到一些目的。

以上是关于C++ crash 堆栈信息获取的主要内容,如果未能解决你的问题,请参考以下文章

获取Android崩溃crash信息并写入日志发送邮件

如何使用 C# 从 C++ 应用程序获取调用堆栈?

Android jni Crash堆栈信息分析

C++封装一个易用的打印backtrace信息的函数

还原堆栈信息,分析地形系统使用ASTC格式的纹理导致Crash的问题

从堆栈跟踪中获取更多详细信息