1. 程式人生 > >VS 設置調試異常觸發

VS 設置調試異常觸發

vs 調試 異常 觸發 問題定義

說明

默認情況下,VS2005,VS2010沒有設置啟動調試的異常觸發,可在菜單調試下,選擇異常,然後勾選上所有的異常中斷的情況:

C++ Exceptions

Common Language Runtime Exceptions

...

作用

準確定位程序已有的問題,而不是程序崩潰直接退出


註意

用戶設置的調試異常的信息,保存在.suo(Solution User Operation解決方案用戶操作)文件,如果該文件沒有上傳到svn服務器,其他人下載代碼的時候,必須重新設置調試異常的選項。如果沒有進行用戶的修改,默認可能不會生成.suo文件,該文件同時保存了用戶的布局設置

實際應用場景中的效果

1)

在模塊實現了動態加載的工程裏面,能夠在調用異常的時候,準確定位到異常出錯的情況,一般是空指針

2)

在處理0xfeeefeee指針錯誤的時候,能夠準確定位到錯誤的代碼

3)

char szTestString[3600*1058*3] = {0};

實際上默認的棧只有2M的空間,上述代碼超出了棧的範圍導致程序崩潰,開啟異常設置之後出現提示:0xC00000FD: Stack overflow


影響

現象:在使用VS2005 c++調試程序時,無法使用文件對話框打開文件,只要執行打開文件對話框,就報0x7703c54f 處最可能的異常: 0x000006BA: RPC 服務器不可用的錯誤。


解決方法

由於調試需要將調試菜單中的異常都打上勾,將勾都去掉,問題解決


VS 設置調試異常觸發