catch access violation exception 遇到一個蛋疼的程序崩潰問題,debug模式下程序直接卡死,minidump可以定位到出錯的代碼,但捕捉到的數(shù)據(jù)太少,無法確定什么位置引起的內(nèi)存訪問錯誤。如果可以捕捉到這個異常設(shè)置斷點,調(diào)試起來會方便很多。由于access viol
catch access violation exception
遇到一個蛋疼的程序崩潰問題,debug模式下程序直接卡死,minidump可以定位到出錯的代碼,但捕捉到的數(shù)據(jù)太少,無法確定什么位置引起的內(nèi)存訪問錯誤。如果可以捕捉到這個異常設(shè)置斷點,調(diào)試起來會方便很多。由于access violation exception是ms定義的異常類型,普通編譯方式下try{} catch(...){}無法捕獲到此異常。Google了一下,有幾種方式可以捕獲到ave,最簡單的就是修改編譯屬性:Project Properties -> C/C++ -> Code Generation -> Modify the Enable C++ Exceptions to "Yes With SEH". 這樣catch(...){}就可以正確捕獲到vae了:) 此法最好只在調(diào)試時使用,正常發(fā)布的因此應(yīng)該堅持使用默認編譯屬性,同時避免catch vae錯誤.
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com