我的一個程序定期崩潰,但我不知道爲什麼。我在調試模式下運行它,但沒有彈出。該計劃突然退出。我有其他的錯誤會引發異常......但不是這個。有沒有捕捉它或什麼的神奇方式?如何在程序崩潰時除去異常?
回答
大概你從Visual Studio中運行它,出於某種原因,它不會停止在調試器中捕獲一個未捕獲的異常,在這種情況下,你可以嘗試從Visual Studio之外捕獲崩潰。在System.AccessViolationException from unmanaged code?查看我的回答,特別是how to capture a crash dump。
如果它只是週期性崩潰,但在合理的短時間內,請從Sysinternals procdump開始。開始從外部Visual Studio的可執行文件,然後運行:
procdump -e <YourExecutableNameOrPid>
,並等待它的收穫崩潰轉儲 - 假設它退出由於未處理的異常 - 那麼崩潰轉儲裝載到VS 2010或WinDbg的。
程序只是突然退出
肯定檢查你的代碼,或者你使用庫之一,不調用exit()(是的,聽起來太簡單了,但我們一旦失去小時跟蹤隨機程序關閉退出()調用..)。如果是這樣,請在那裏放置一個斷點或改爲throw(),然後再次運行。如果沒有,肖恩的答案似乎是合法的。
我們有一次這個確切的問題,它花了我們多年的時間來弄清楚。這是值得檢查的。 – 2010-09-25 08:04:49
你也應該在main()/ winmain()的最後一行設置一個斷點或者一些日誌語句。程序可能以一種意想不到的方式終止「正常」。 – 2010-09-25 13:36:49
@紅色:這是一個WPF GUI應用程序...所有的代碼都在事件中,我不認爲它應該達到最後。 @stijn:很確定我沒有寫任何退出電話,但我會仔細檢查。 – mpen 2010-09-25 19:34:21
您可以在以下類似帖子中找到更多建議:Third-party dll crashes program with no exception thrown。
- 1. 應用程序崩潰java.lang.stackOverflow異常
- 2. 異常崩潰程序的try-catch塊
- 3. 應用程序崩潰 - COM異常
- 4. 如何捕獲所有異常/崩潰在.NET應用程序
- 5. Android應用程序在啓動運行時崩潰異常
- 6. 應用程序崩潰在Android:運行時異常
- 7. 刪除[] pBuff拋出'c0000374(堆損壞)'異常和程序崩潰
- 8. main.m異常崩潰
- 9. 如何在應用程序崩潰時捕獲崩潰
- 10. 如何處理異常並防止崩潰應用程序
- 11. VC++異常處理 - 應用程序崩潰無論如何
- 12. 如何查看iPhone上的異常和應用程序崩潰
- 13. Visual Studio 2013崩潰時出現異常 - 任務調度程序拋出異常
- 14. 捕捉異常,並在程序崩潰時正確處理程序
- 15. Android的TimerTask崩潰程序致命的異常時間-0
- 16. 應用程序崩潰時SharedPreferences被稱爲(NullPointerException異常)
- 17. Android崩潰應用程序的運行時異常
- 18. 拋出異常時應用程序崩潰
- 19. 清除QTreeWidget時應用程序崩潰
- 20. 如何獲得其崩潰異常
- 21. 刪除QCamera崩潰程序
- 22. 刪除char *崩潰程序
- 23. 如何在android應用程序崩潰之前堅持下去?
- 24. 如何去我的程序崩潰的線? (在PyCharm)
- 25. 如何在處理異常時獲取崩潰轉儲?
- 26. 線程0崩潰,SIGABRT異常和__pthread_kill
- 27. 崩潰 - 運行時異常(MultiDex.java:178)
- 28. WPF應用程序崩潰而沒有拋出任何異常
- 29. 沒有任何異常的應用程序崩潰
- 30. 在運行時異常的情況下避免崩潰處理程序線程?
如果您在.NET 4應用程序中出現AccessViolationException,並且意外地碰到了catch塊,該怎麼辦?是的,這現在真的發生在我身上。無法相信它我自己。打算問一個單獨的StackOverflow問題,但我先閱讀了這個答案。由於應用程序不會崩潰,因此不會出現故障轉儲,對嗎? – 2016-09-07 20:17:47
@JohnZabroski我會後備調試WinDbg和SOS [EX]。看到我的與上面有關的其他答案。 – 2016-09-08 07:49:31
謝謝,我在這裏詳細描述了我的問題:http://stackoverflow.com/questions/39378849/what-to-do-when-accessviolationexception-in-net-4-app-defies-msdn-documented-be – 2016-09-08 11:37:35