gpt4 book ai didi

visual-studio-2010 - WinDbg 是如何使用的,它到底是什么,它是否与 .dmp 文件相关?

转载 作者:行者123 更新时间:2023-12-01 10:58:13 26 4
gpt4 key购买 nike

过去,我听说过使用 WinDbg 解析 .dmp 文件的引用资料(我想 - 我可能错了)。

我还借助 .map 文件进行了相当广泛的调试,并且使用标准逻辑启发式方法和 Visual Studio 调试器进行了广泛的调试。

但是,我正在开发的程序偶尔会崩溃并创建一个 .dmp 文件。我一直无法解释 .dmp 文件。前一段时间,我发布了一个关于如何解释 .dmp 文件的 SO 问题 ( How to view .dmp file on Windows 7? ),但经过一些重大努力后,我无法使用该问题的答案来弄清楚如何解释 .dmp 文件。

今天,我正在查看一个不相关的 SO 问题 ( C++ try/throw/catch => machine code ),已接受答案下方的有用评论再次提到了 WinDbg。

If you really want to find this out though, it's easy - just trace through it in WinDbg

我想听从这个建议。然而,对我来说,“只是在 WinDbg 中跟踪它”并不容易。我过去曾尝试过,但无法弄清楚这到底意味着什么或该怎么做!

所以,我再试一次。 “一劳永逸”,我想就以下方面提供简单明了的说明:

  1. 什么是 WinDbg
  2. 假设 WinDbg 与 .dmp 文件相关,转储文件到底是什么以及它与 WinDbg 有何关系(如果我的假设有误,请纠正我)
  3. 如何创建 .dmp 文件,相应地,如何使用 WinDbg 分析它们(如果我对 WinDbg 和 .dmp 文件之间的关系有误,请再次纠正我)。

如果可以,请从仅安装并运行 Visual Studio 的程序员的“起点”回答这个问题。

谢谢!

最佳答案

  1. WinDbg 是一个多用途调试器。它可以像使用任何其他调试器一样通过附加、设置断点等方式调试实时进程。它还可以分析崩溃转储文件,这些文件是 .dmp 文件。它通过你给它命令来运行。

  2. .dmp 文件是某种内存转储。那是什么取决于内存转储的用途。例如,它可以用于一个过程。它也可以用于内核。内存转储中的内容也取决于。在您的情况下,这可能是您的进程在崩溃时的样子。内存转储包含的内容可能因转储类型而异。

  3. 方法多种多样。在 Windows Vista+、Server 2008+ 上 - 您可以直接从任务管理器执行此操作。右键单击该进程,然后单击“创建内存转储”。 WinDbg 也可以使用 .dump 命令从实时进程进行内存转储。 adplus 等其他工具可用于在某些情况下自动创建内存转储,例如当进程超过内存或 CPU 阈值时,或者当它崩溃时。

WinDbg 可以很容易地打开故障转储。重要的是首先要正确加载符号。通常以 .pdb 文件的形式或来自符号服务器(虽然不是必需的,或者总是可能的,但它非常有帮助)。

运行 WinDbg 后,查看 list of commands可以在您的故障转储中四处寻找。

关于visual-studio-2010 - WinDbg 是如何使用的,它到底是什么,它是否与 .dmp 文件相关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13646781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com