2012-09-11 68 views
0

(見下更新)檢測異常在Beta測試

雖然VisualStudio的2010環境中運行的,我可以很容易地知道我的WinForm應用程序導致異常。我只需要去Debug |例外情況並確保複選框的兩列都被選中。然後我運行該應用程序,如果有任何異常,我會直接丟棄這個有問題的代碼。

如何確定測試期間的例外,當我測試版本的測試儀。我不想讓測試者在Visual Studio中運行,就像普通用戶一樣。我仍然想知道是否有例外和相關的細節。

Obviosualy,我應該能夠控制的過程,所以,當代碼被公佈的正常執行情況。

是的,我知道和使用try/catch塊,但我說的是類似於Visual Studio的異常捕手和記者的方法,只是可能編譯成產品和用於部署beta測試。

也許Visual Studio中具有這樣的功能,在這種情況下,如何設置,也可能是第三方組件。

[更新: 我添加了兩個子問題,你可以在Unhandled Exception next line or exit找到。

下面提到的解決方案聽起來不錯,用一個調整可能是工作,只是不是現在。

Visual Studio 2010和現在2012都很棒。異常處理程序被調用,VS在線路中斷後可以繼續使用,並且我說要繼續。我決定在VS2012 IDE之外進行測試,這是件好事。操作系統捕獲錯誤,顯示標準爲「發生未處理的例外」對話框,提供詳細信息以及繼續和退出按鈕。選擇繼續,只需繼續應用程序,不會陷入我的超級異常處理程序。選擇完全,清除應用程序並顯示標準關閉窗口對話框。退出按鈕也不會調用我的超級處理程序。

目的是讓我的異常處理程序被調用。如果我在VS2012 IDE內工作,則不需要超級異常處理程序。處理程序的目的是針對最終用戶和測試者測試人員,即除我以外的任何人,並且他們不會擁有我的開發工作站。

所以除非我錯過了一些東西,問題仍然是開放的。

裏有其他問題的代碼示例,足夠的複製和粘貼,並創造了幾分鐘的時間測試應用程序。 ]

由於提前,

薩拉

回答

0

好吧,Google Uberlord對我很吝嗇,我發現這篇文章解決了這個問題。讚美全能谷歌。

這裏是鏈接: http://www.switchonthecode.com/tutorials/csharp-tutorial-dealing-with-unhandled-exceptions

基本上,JRadness當時的想法是,只要稍有誤差。他應該已經使用

Application.ThreadException += 

new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

而不是

AppDomain.CurrentDomain.UnhandledException += 
    new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 

在交換機上的代碼筆者談到的三種方法,其中第一個就是JRadness提出和Windows窗體不起作用。

該autor甚至解決了我的另一個問題繼續和中止。操作系統被繞過了。

是啊!

1

我不知道在Visual Studio中的任何自動魔法的方式來報告錯誤,但這裏是我做的。

  1. 鉤入應用程序的UnhandledException事件。

  2. 使用日誌框架(如nLog或Log4Net)記錄從該事件獲得的異常和其他數據。或者只是寫入一個文本文件。

  3. 從您的應用程序中上傳該數據,或讓測試人員將其發送給您。

+0

對不起,直到現在沒有響應。我嘗試了代碼,在VS2012 IDE中,異常處理程序被調用,但沒有IDE。操作系統處理程序繞過了我在程序中迷住的那個。看到我的其他職位瞭解更多詳情。我必須繼續玩弄它。 –

+0

很高興我能指出你在正確的方向。 – JRadness