簡體   English   中英

當我的MSVS C ++應用程序崩潰時,如何避免彈出錯誤對話框

[英]How do I avoid popping up an error dialog when my MSVS C++ app crashes

當我的Visual Studio 2008 C ++命令行應用程序崩潰時,它有時會生成此對話框。

CommandProcessor.exe遇到問題,需要關閉。

我們對造成的不便很抱歉。 如果您處於中間狀態,您正在處理的信息可能會丟失。 有關此錯誤的更多信息,請單擊此處。

我在Release和Debug模式下嘗試了這個。

(順便說一句,調試器顯示這是一個除零錯誤。)

如果它將崩潰,我不希望這個阻止應用程序的對話框。 如何編譯我的應用程序,以便崩潰不會產生對話框?

使用/ EHa選項,您可以使用catch(...)來捕獲包含結構化異常的所有異常並編寫控制台消息。 您也可以使用特定於VC ++的__try來進行結構化異常處理,但這有點難以編碼。

但是,這不會保護您免受C ++運行時調用terminate()的情況 - 例如在堆棧展開期間異常轉義析構函數時 - 您還必須通過調用set_terminate()來更改terminate()處理程序。

閱讀一系列文章異常處理和崩潰報告 可以捕獲異常並按照您的意願處理它(例如,您可以保存故障轉儲)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM