2010-05-23 49 views
0

我有一個Visual Basic 6應用程序,我最近更改爲使用我在Visual Studio 2008中編寫的幾個C++ DLL。該應用程序在我的PC上正常工作,但是當我們將其安裝在我們的測試PC它在關機過程中往往會崩潰 - 我們看到Win 7消息「您的應用程序失敗」或無論它是什麼。如何在Win7發生應用程序崩潰後進行調試?

我知道Win 7存儲可用於分析崩潰的數據。我已經從構建中獲得源代碼和.PDB文件,所以我應該可以使用它,但我無法弄清楚Win 7在崩潰中存儲數據的位置。事件查看器顯示崩潰但沒有任何數據,並且目錄C:\ Windows \ Minidump不存在。

崩潰文件得到放在哪裏?

+0

您的問題更適合在serverfault.com或superuser.com詢問 – SoftwareGeek 2010-05-23 03:25:11

+1

爲什麼? StackOverflow的編程問題。 – parsley72 2010-05-24 06:22:33

回答

1

爲什麼不在崩潰發生時讓你的程序在任何你想要的地方保存小型轉儲?我不熟悉VB,但嘗試使用SetUnhandledExceptionFilter()和MiniDumpWriteDump()。

1
  • 獲取轉儲進行崩潰
  • 獲取WDK,Using Debugging Tools for Windows

  • 使用WinDbg打開崩潰轉儲

  • 使用命令!分析

    的!analyze擴展顯示有關信息當前異常或錯誤檢查。

  • 瞭解更多關於窗口調試

創建轉儲:

您可以通過在運行下達命令 「WinDbg的-I」 的WinDbg配置爲defaut調試工具。

另外Dr.Watson工具可以爲您做到這一點。

+0

您是說用戶必須將WinDbg配置爲默認調試工具(或Dr. Watson)才能創建崩潰轉儲? Windows不會默認執行此操作嗎? – parsley72 2010-05-24 08:32:41

+0

有兩種方法: 1.使用Crash Dump來發布問題 2.使用windbg作爲默認調試器,當你的進程崩潰時,它會自動打開並且你可以捕獲罪魁禍首 – Satbir 2010-05-24 13:59:39

+0

,你也可以通過編程方式創建轉儲。 ..閱讀此線程 http://stackoverflow.com/questions/1547211/how-to-create-minidump-for-my-process-when-it-crashes – Satbir 2010-05-24 14:04:33

0

您甚至可以使用carsh報告機制並獲取本地保存的轉儲文件,然後使用Visual Studio進行調試。在Visual C++中有幾乎免費的可用資源,但在VB中不多。

相關問題