2011-06-13 101 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錯誤報告」源代碼將寫入一些有趣的內容。