2011-06-13 102 views
1

我已经使用一些第三方DLL编码了一个具有复杂视频和转码功能的WPF应用程序。在Windows XP上读取崩溃/内存转储

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

检查碰撞原因的最佳方法是什么?

什么工具可以读取崩溃报告?

+0

那么,首先你应该弄清崩溃带来的错误信息! – 2011-06-13 18:34:49

+0

这是Windows XP它只给你一个发送/不发送对话框 – 2011-06-13 18:38:37

+0

仅供参考,以获取Dr.Watson在XP下生成的crashdump的路径,从system32运行drwtsn32.exe。你也可以改变那里创建的crashdump的类型。 – 2011-06-13 22:16:49

回答

2

通常,您可以在Windows调试工具中使用WinDbg/NTSD/CDB来读取崩溃转储,但要从您的堆栈管理部分获得必须加载sos.dll并使用其命令。带有.NET 4.0的VS2010增加了对混合模式转储调试的支持,这更好。只需在VS2010中打开crashdump作为一个项目。

0

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

+0

我使用简单的功能,它也挤在一个真正的XP机器,我只是为了开发的目的安装在VMWARE – 2011-06-13 18:39:49

1

在调试模式下,在Visual Studio中运行程序。如果程序崩溃,你会看到程序在哪一行代码崩溃。这应该给你一个诊断问题的出发点。

+0

为此,我需要在XP机器上安装VS2010,这是我最初的想法,我想避免它保存时间。 – 2011-06-13 18:52:55

+0

不,你在Windows目录下会找到一个.mdmp文件,你可以在WinDbg中打开它(或者使用远程调试) – 2011-06-13 22:11:39

0

你检查了你的应用程序EventLog吗? (开始...运行... eventviewer.msc)有时“.NET运行时2.0错误报告”源代码将写入一些有趣的内容。