用于在运行时记录调用堆栈的库(Windows/Linux)

vlg*_*789 9 c++ linux windows debugging

我需要一种方法来记录调试日志中的函数堆栈跟踪,以帮助我诊断缺陷.问题是我需要在Windows和Linux上使用C++实现它.

经过一番研究,我发现:

  • 对于Windows实现,我可以使用StackWalk64 API函数和系列.
  • 在Linux下,我发现libunwind听起来很棒.
  • 或者,我可以使用glibc的回溯

在开始工作之前,我想要一些建议,如果这是正确的方法,并询问是否有一个已经编写的多平台库可以提供帮助.我怀疑我不是第一个需要这个的程序员.:)

Ana*_*tts 3

如果您想从现场获取故障转储,Google Breakpad可以为您处理所有这些事情。