过去,我听说过使用 WinDbg 解析 .dmp 文件的参考资料(我认为 - 我可能错了)。
在 .map 文件的帮助下,我还进行了相当广泛的调试,并使用标准逻辑启发式和 Visual Studio 调试器进行了广泛的调试。
但是,有时,我正在开发的程序会崩溃并创建一个 .dmp 文件。我一直无法解释 .dmp 文件。前段时间,我发布了一个关于如何解释 .dmp 文件的 SO 问题(如何在 Windows 7 上查看 .dmp 文件?),但经过一番努力后,我无法弄清楚如何使用答案来解释 .dmp 文件那个问题。
今天,我正在查看一个不相关的 SO 问题(C++ try/throw/catch => machine code),并且在已接受答案下方的有用评论再次引用了 WinDbg。
如果你真的想找到它,这很容易 - 只需在 WinDbg 中追踪它
我想听从这个建议。然而,对我来说,“只在 WinDbg 中追踪它”并不容易。我过去曾尝试过,但无法弄清楚这到底意味着什么或该怎么做!
所以,我再试一次。“一劳永逸”,我希望得到关于以下方面的简单明了的说明:
- 什么是WinDbg
- 假设 WinDbg 与 .dmp 文件有关,转储文件到底是什么以及它与 WinDbg 有什么关系(如果我的假设错误,请纠正我)
- 如何创建 .dmp 文件,以及如何使用 WinDbg 分析它们(再次,如果我对 WinDbg 和 .dmp 文件之间的关系有误,请纠正我)。
如果您可以请从仅安装和运行 Visual Studio 的程序员的“起点”回答这个问题。
谢谢!