使用Windows转储文件进行Borland C ++应用程序

时间:2015-09-03 04:28:23

标签: debugging crash-dumps borland-c++

我有一个使用Windows任务管理器生成的转储文件。它创建的过程是Borland(现在的Embarcadero)C ++应用程序。

是否可以将此类文件用于Borland应用程序? 如果是,那怎么办?

1 个答案:

答案 0 :(得分:0)

由于您已创建应用程序转储,因此称为用户模式故障转储。通常在Microsoft Visual Studio,Microsoft WinDbg或DebugDiag中分析此类转储。

调试器是免费提供的。 WinDbg是Debugging Tools for Windows的一部分,Visual Studio 2015以Community Edition的形式提供。对于WinDbg,安装两个版本,x64和x86,以便您可以调试任何类型的转储。 DebugDiag具有简单的用户界面,不允许进行手动分析。

如果您已经使用64位操作系统的默认任务管理器来转储32位应用程序,那么您可能会感到不幸。尝试为32位应用程序获取32位转储,如果您不熟悉调试,那就更好了。 This answer显示了获得良好转储的各种方法。这对你来说也不错,不仅仅适用于.NET。

分析DebugDiag中的转储

  1. 在DebugDiag中打开转储
  2. 选择分析类型
  3. 运行
  4. 阅读它生成的HTML报告
  5. 分析Visual Studio中的转储

    1. 在Visual Studio中打开转储
    2. 按绿色播放按钮
    3. 查看消息以查看异常
    4. 查看调用堆栈
    5. ...
    6. Visual Studio有许多命令和可能性,但在这里解释它们的范围太广了。如果您对要了解转储的内容有更具体的了解,请提出一个新问题。

      分析WinDbg中的转储

      1. 在WinDbg中打开崩溃转储(使用正确的位数)。
      2. Set up the symbols
      3. 开始分析,例如
        • ~获取线程列表,~xs选择一个线程(其中x是线程号)
        • k获取调用堆栈
        • .exr -1获取有关例外的信息
        • !analyze -v执行自动分析
        • ...
      4. 学习WinDbg是一项艰巨的任务,因为大多数事情都是通过神秘的命令完成的,而不是通过UI完成的,但它几乎可以做任何事情。

        对于特定问题,请使用标记提问。