我需要一种在调试日志中记录功能堆栈跟踪的方法来帮助我诊断缺陷。问题是我需要使用C ++在Windows和Linux上实现它。
经过一番研究后,我发现:
在开始工作之前,我想要一些建议,如果这是正确的方法,并询问是否有一个已经编写的多平台库可以提供帮助。我怀疑我不是第一个需要这个的程序员。 :)
答案 0 :(得分:3)
Google Breakpad会为你处理所有这些。
答案 1 :(得分:2)
我写了两篇关于这个主题的文章,包括Googles breakpad以及一个非常薄的自编写方法,适用于Windows和Linux:
事后调试 - http://drdobbs.com/tools/185300443
重新审视死后调试 - http://drdobbs.com/architecture-and-design/227900186
答案 2 :(得分:1)
几年前我写了这个:http://drdobbs.com/cpp/191100567
基本上,一些宏记录了抛出异常时堆栈展开的位置。
可以在Imebra库(http://imebra.com)
中找到该框架的更新版本