2013-10-05 43 views
0

在我的節目,我真的需要使用SEH異常處理程序,它抓到像AccessViolation &等錯誤,但處理只能在調試版本的工作。__try __except並在發佈工作不建

我已經啓用的發佈版本相同的選項,但它不工作。

如何啓用發佈模式SEH呢?

謝謝!

__try { /* crash code */ } 
__except(EXCEPTION_EXECUTE_HANDLER { MessageBox("Crash prevented"); } 

在調試構建模式下工作,但不在發佈(崩潰)中。

+0

有沒有什麼特別的SEH在一個發佈版本。沒有人可以猜測「它不起作用」可能意味着如果你沒有描述你看到的錯誤並且不發佈一個片段。 –

+0

@Hans Passant放鬆。如果你需要特別的解釋:我的程序在調試模式下處理SEH異常(處理程序工作),在發佈模式下沒有。除了基本版本/調試模式的區別之外,最多配置是相同的。 – Loryan55

+0

好的LOL,現在是時候把問題解決爲「Offtopic」或「Not constructive」! – Loryan55

回答

1

與設置打經過我已經找到了解決辦法。 在發佈配置中,我必須激活頁面「代碼生成」中的「基本運行時檢查」以啓用SEH異常處理程序。

「基本運行時檢查」選項不能與任何已啓用的優化使用。

+0

你好Loryan,我在Windows 10 x64上發生崩潰。但不在Windows 7 x64中 –