2010-05-26 34 views
0

對於我的工作,我需要創建一個服務來檢測異常程序終止,而不是向用戶顯示消息(默認行爲)生成的核心轉儲到遠程服務器。在Windows上檢測/重定向核心轉儲(當軟件崩潰時)

我很確定這可以完成,但我完全不知道從哪裏開始。 有沒有任何API /註冊表設置?

謝謝。

+0

爲什麼接近的選票?我的問題是100%編程相關oO – ereOn 2010-05-26 08:12:17

+0

爲什麼你不設置WinDbg,以便它在崩潰時自動創建一個小型轉儲?然後你可以使用這個文件。爲什麼你需要API? – 2010-05-26 08:21:03

+0

@skwllsp:爲什麼?正如我所說,我根本不知道該怎麼做*。很高興我不需要API,這是件好事。我會看看WinDbg:我從來沒有用過它。謝謝。 – ereOn 2010-05-26 08:41:24

回答

4

一種方法是安裝一個Unhandled Exception Filter,然後從它write a minidump然後您可以上傳到一些地方的你的選擇。我不會完全忽視Windows錯誤報告 - 這是您自己的任何崩潰報告的補充。如果您的應用程序用於公開發布,那麼註冊Windows錯誤報告非常有用,因爲您可以獲得有關哪些崩潰用戶在野外遭遇的信息,以及當崩潰已修復時,您可以添加響應代碼以指向新版本或其他相關信息。

根據您的組織中應用程序的部署方式,另一個可能有用的工具是在用戶計算機上運行Adplus,該工具將收集崩潰轉儲。這對於似乎會影響個人用戶但在開發環境中無法重現的一次性崩潰更有用。

其他一些有用的鏈接:

+0

另外,一旦你在你自己的機器上備份了小轉儲文件,建立一個符號服務器,包含你編譯的所有pdb文件,然後在windbg中'!analyze -v'命令是你的朋友 – 2010-05-26 13:56:38

+0

另一個值得考慮的方法是桌面錯誤監視程序,如果這是內部軟件工具: http://blogs.msdn.com/b/wer/archive/2010/05/30/mdop-error-reporting-for-small-midsize-andlarge -companies.aspx – 2010-06-01 16:18:54