c++ - 如何从通过 Windows MiniDump 调用生成的核心转储中获取堆栈跟踪?

标签 c++ c windows mingw coredump

我有一个用 mingw 编译的 exe,但核心转储是通过 Windows MiniDump 函数生成的。如果我在 WinDbg 中打开核心转储,将调用堆栈地址复制到一个文本文件,然后通过 addr2line 运行它就可以了。但是,肯定有更好的方法。是否有另一个调试器可以解析 gcc 产生的调试信息和 minidump 文件?

最佳答案

您可以使用多种工具(Visual Studio、WinDbg、DebugDiag)从小型转储中提取调用堆栈甚至进行诊断。我已经写了一个简短的“操作方法”指南,which you can find here .

如果您只看到地址而不是实际的函数调用名称和位置,则很可能是 your symbol path is not set up correctly对于您正在使用的工具,或者您的应用程序中的 .pdb 文件丢失(和/或您尚未设置符号服务器)。

关于c++ - 如何从通过 Windows MiniDump 调用生成的核心转储中获取堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21070227/

相关文章:

c++ - 用不同的颜色和强度照亮物体

c - 如何正确从文件中读取结构?

windows - 在 Windows 上安装 PostgreSQL

c# - Windows 8.1,XAML 绑定(bind) ListView 但不显示第一项

c++ - 如何在 Windows Mobile 中动态更改所有者绘制的列表框的高度?

c++ - QTextEdit更新单个QTextCharFormat

c++ - 使 MySQL C API 与 MinGW 一起工作

c++ - 如何为我的 visual studio 2010 c++ 应用程序制作自动更新程序?

c - 如何在Linux中使用C语言使用 "write"系统调用?

Windows CMD 使用转义序列写入文件