2009-12-21 71 views
6

如果我的應用程序崩潰,Microsoft Visual C++運行時庫「運行時錯誤!」發生。禁用Microsoft Visual C++運行時錯誤

消息的文本是:
這一個應用已請求運行時以不尋常的方式來終止。
有關更多信息,請聯繫應用程序的支持團隊。

我知道,我需要解決所有這些問題,但我想這個錯誤並沒有出現在過去。在Visual Studio 2005中是否有一個選項來啓用/禁用此類錯誤(處理)?相反,我期望應用程序只是崩潰/退出並提供Microsoft Windows錯誤報告。

+0

我期待你的程序有一些面影響,現在是詩編譯器的變化無效,並開始給錯誤消息。 – 2009-12-21 09:13:53

回答

9

如果未處理異常並調用unexpected()或在堆棧展開期間異常轉義析構函數並調用terminate(),則會顯示此錯誤消息。兩者都導致abort()被調用,並且其abort()實現顯示消息框。這種行爲是在VS2k3,VS2k5和VS2k8中設計的。特別是在沒有人爲干預的情況下運行的應用程序真的很煩人(比如每天的構建)。

您可以解決此問題 - 使用catch(...)捕獲頂級的所有異常,並使用set_terminate()設置您自己的terminate()處理程序。

0

使用:

_set_abort_behavior(0, _WRITE_ABORT_MSG); 
相關問題