【问题标题】:reading crash/memory dumps on Windows XP在 Windows XP 上读取崩溃/内存转储
【发布时间】:2011-09-14 03:25:56
【问题描述】:

我使用几个第三方 DLL 编写了一个具有复杂视频和转码功能的 WPF 应用程序。

它在 Windows 7 中运行良好,但是当我尝试在 Windows XP 上运行它时,它崩溃了。我使用 VMWARE 站模拟 Windows XP 作为我的测试系统。

检查崩溃原因的最佳方法是什么?

哪些工具可以读取崩溃报告?

【问题讨论】:

  • 好吧,首先你应该掌握崩溃带来的错误信息!
  • 这是 windows XP,它只给你一个发送/不发送对话框
  • 仅供参考,以获取 Dr. Watson 在 XP 下生成的故障转储的路径,从 system32 运行 drwtsn32.exe。您也可以更改在那里创建的故障转储类型。

标签: c# wpf debugging windows-xp


【解决方案1】:

通常您会使用 Windows 调试工具中的 WinDbg/NTSD/CDB 来读取故障转储,但要从您那里获取堆栈的托管部分,您必须 .load sos.dll 并使用它的命令。带有 .NET 4.0 的 VS2010 添加了对混合模式转储调试的支持,效果更好。只需将 VS2010 中的故障转储作为项目打开即可。

【讨论】:

    【解决方案2】:

    在调试模式下在 Visual Studio 中运行程序。如果程序崩溃,您会看到程序崩溃的代码行。这应该是您诊断问题的起点。

    【讨论】:

    • 为此我需要在XP机器上安装VS2010,这是我最初的想法,我想避免它以节省时间。
    • 不,你没有,在windows目录下你会找到一个.mdmp文件,你可以用WinDbg打开这个(或者使用远程调试)
    【解决方案3】:

    VMware 的视频驱动程序可能不支持您尝试使用的功能。检查 VMware 文档。您还应该查阅主机虚拟机目录中的 vmware.log 文件。

    【讨论】:

    • 我使用简单的功能,它在真正的XP机器上也很崩溃,我只是出于开发目的将它安装在VMWARE中
    【解决方案4】:

    您检查过您的应用程序事件日志吗? (Start...Run...eventviewer.msc) 有时“.NET Runtime 2.0 Error Reporting”源码会写一些有趣的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-17
      • 2014-07-07
      • 2011-03-21
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多