回答
更多的可能性:
- (簡易)使用procmon,看看有什麼資源(文件,註冊表,等等),該程序正在訪問或得到拒絕訪問
- (比較難)使用簡單的調試器像WinDbg or ProcExp
- (最難)安裝一個大醇」調試器進程(attach Visual Studio's debugger from the EXE's Registry settings;或檢查出big guide to debugging in production)
1)將事件處理程序附加到AppDomain.UnhandledException事件並記錄異常對象。
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
2)安裝一個線程異常處理
Application.ThreadException +=
new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
WPF和Silverlight應用程序使用更多的異常處理程序,例如分別是Application.DispatcherUnhandledException和Application.UnhandledException,但在這種情況下這些不是您感興趣的。我包括他們的完整性。
它被處理 - 沒有日誌記錄。 – alex 2009-10-20 13:21:31
修改代碼以在每個相關部分之後包含日誌步驟,然後檢查日誌文件以查看其發生的位置。
如果它甚至不啓動,那麼這會告訴你的東西太...
你可以嘗試使用ELMAH,這將記錄幾乎所有未處理的異常:
http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx
我們也有類似的問題。我們有一個AppDomain.UnhandledException的事件,但它甚至跳過了這個。原來,這是我們測試剪貼板內容時導致的SystemAccessViolation。
如果它是類似的(EG跳過AppDomain.UnhandledException事件),那麼我會建議記錄來自您的流程之外的互操作性和「敵對」數據調用的所有內容,並且代碼將全部檢查。我們花了幾個星期的時間來追蹤它,並修改了一行。
另外,打開VS中的MDAs並運行你的程序,看看你是否得到錯誤。
- 1. C4模板剛剛消失
- 2. WM_SETFOCUS,獲取剛剛失去焦點的應用程序
- 3. UITableView單元剛剛消失回調?
- 4. 如何找到我剛剛用protobuf-net反序列化的消息?
- 5. 如何驗證應用程序剛剛啓動?
- 6. 如何判斷ClickOnce應用程序是否剛剛更新?
- 7. 如何在剛剛插入的記錄上解決mysqli-mariaDB更新失敗
- 8. PHP程序剛剛停止
- 9. R.java文件剛剛失蹤
- 10. 剛剛讀取條形碼的應用程序
- 11. 檢測剛剛啓動的應用程序
- 12. iTunes Connect - 無法刪除我剛剛創建的應用程序
- 13. 剛剛啓動後的Android應用程序
- 14. 剛剛在應用程序開始處的內存警告
- 15. 無法讓我的應用程序工作。剛剛崩潰
- 16. 谷歌應用程序腳本和GmailApp:剛剛收到新消息
- 17. 剛剛使用網頁構建IOS應用程序
- 18. 如何使這個簡單的iPhone應用程序:剛剛啓動郵件
- 19. 確定是否剛剛下載應用程序
- 20. Cordova - 檢查應用程序是否剛剛啓動
- 21. 剛剛重新啓動應用程序後,UITableView單元更新
- 22. 剛剛看到在Android Studio中調試應用程序輸出
- 23. 動作欄中的圖標剛剛消失
- 24. Python程序剛剛結束循環
- 25. 如何刪除剛剛在Android程序中拍攝的照片
- 26. 如何在剛剛產生用來取消固定節點
- 27. 如何解決所有合併衝突以支持剛剛彈出的存儲?
- 28. 幫助!我的jQuery手風琴剛剛分手了。如何解決它?
- 29. Django會話剛剛登錄後會間歇性消失
- 30. 剛剛完成動畫後圖表消失
您是否進行任何p/invoke調用? – 2009-10-20 13:19:07
不是直接。我們使用Crystal Reports,它可以進行這種調用。無論如何,應用程序工作了一年沒有問題。 – alex 2009-10-20 13:20:25
你使用任何COM組件嗎? – 2009-10-20 13:25:26