2014-09-03 69 views
-1

我創建了一個我在線發佈的程序。我試圖處理所有exception,但有時程序仍然崩潰。但是,當我重現崩潰時,它說: 「您的應用程序中發生了未處理的異常」。 我的程序的用戶看到「程序遇到了問題」,並在它上面有一個小文本,上面有文字「尋找解決方案」。「程序遇到錯誤」vs「未處理的異常」

我是否看到與用戶不同的窗口?因爲我安裝了完整的開發環境,並且他們只有運行時?有沒有一種方法可以在程序崩潰或彈出消息時保存DEV狀態: 「程序崩潰了,您想將詳細信息發送給開發人員」 或類似的東西嗎?

+0

你能確認你使用的是什麼技術?由應用程序是WPF?你看過其他問題,例如http://stackoverflow.com/questions/5762526/how-can-i-make-something-that-c​​atches-all-unhandled-exceptions-in-a-winforms-a – 2014-09-03 17:45:12

+0

它聽起來像他們可能沒有在他們的機器上安裝所需的.net運行庫 – 2014-09-03 17:46:48

+0

它是用C#編寫的,用Visual Studio Express 2013 for Desktop – tertrih 2014-09-03 17:50:13

回答

2

我會建議添加事件處理程序到Application.ThreadExceptionAppDomain.CurrentDomain.UnhandledException來實現那裏的一般錯誤處理。

0

聽起來像你正在開發的Windows。用戶看到的崩潰不同,大概是因爲當你運行它時你有一個調試器。

你可以做的是從https://sysdev.microsoft.com/下載「微軟生態系統元數據交換」(MEME)程序,通過登錄你的MSDN帳戶,你應該能夠找到下載。

「正在尋找解決方案」對話框將小型轉儲器發送到sysdev。

  • 註冊您的二進制文件的MEME工具
  • 退房sysdev網站的小型轉儲
  • 開放轉儲與Visual Studio和選擇你的二進制
  • 你在異常打破調試模式。
  • 檢查調用堆棧
  • 利潤