在Windows上实现堆栈跟踪

时间:2009-02-19 06:30:41

标签: c++ winapi

我正在为我正在编写的游戏实现崩溃报告工具,并且我想为报告提供(相当)详细的本机堆栈跟踪。我已经在GNU / Linux上实现了这个,但我在Windows上遇到了麻烦。这是我尝试使用的一些示例代码:

http://pastebin.com/m30b50f76

每次调用SymFromAddr时,都会收到错误“尝试访问无效地址”。有没有人有使用StackWalk64 / SymFromAddr及其亲属的经验?

谢谢, 罗布

1 个答案:

答案 0 :(得分:7)

为什么不捕获一个minidump并将其与报告一起发送?您可以在调试器中自己重建堆栈跟踪,您将获得所有本地变量以及其他线程的所有堆栈。

此外,我认为该错误是因为您缺少程序的符号(PDB)。