我正在調查奇怪的WPF多線程應用程序掛起發生隨機生產機器上比發展更容易。Application.Dispatcher.UnhandledException和CurrentDomain.UnhandledException
我添加了Application.Dispatcher.UnhandledException和CurrentDomain.UnhandledException事件處理程序來記錄每個和每個異常,以防止應用程序崩潰,因爲它是系統shell。
我懷疑掛起的原因是我處理這些事件,而不是讓應用程序崩潰,這讓我說,這是當我監視應用程序活動時,它掛起使用Windows任務管理器我注意到CPU加載可能是由應用程序中的後臺任務引起的,並且這些後臺任務正在按預期寫入日誌。
記錄器類使用BeginInvoke異步地將日誌寫入磁盤。
最大的問題是每當應用程序在生產機器中掛起時,我在日誌文件中找不到任何東西。
現在我有兩個問題:
- 什麼是這些事件的火上。 「Application.Dispatcher.UnhandledException和CurrentDomain.UnhandledException」。
2.Is有反正我能設法能夠知道是我的代碼失敗
注意:我用在後臺任務很多的Thread.Sleep作爲我管理的線程我自己我認爲我用這種方法出錯了,我正在考慮從頭開始重寫所有的後臺任務。
任何幫助將不勝感激。本次活動的
此順序對於在此過程中運行的所有線程是否相同? –
在主線程中是的,但要更多的信息檢查我給你的這兩個鏈接。描述了異常處理的線程行爲。 – kmatyaszek
非常感謝! –