溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

VS 設(shè)置調(diào)試異常觸發(fā)怎么辦

發(fā)布時(shí)間:2021-11-01 17:29:35 來源:億速云 閱讀:406 作者:柒染 欄目:系統(tǒng)運(yùn)維

VS 設(shè)置調(diào)試異常觸發(fā)怎么辦,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

說明

    默認(rèn)情況下,VS2005,VS2010沒有設(shè)置啟動(dòng)調(diào)試的異常觸發(fā),可在菜單調(diào)試下,選擇異常,然后勾選上所有的異常中斷的情況:

C++ Exceptions

Common Language Runtime Exceptions

...

作用

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

注意

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

實(shí)際應(yīng)用場(chǎng)景中的效果

1)

    在模塊實(shí)現(xiàn)了動(dòng)態(tài)加載的工程里面,能夠在調(diào)用異常的時(shí)候,準(zhǔn)確定位到異常出錯(cuò)的情況,一般是空指針

2)

    在處理0xfeeefeee指針錯(cuò)誤的時(shí)候,能夠準(zhǔn)確定位到錯(cuò)誤的代碼

3)

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

實(shí)際上默認(rèn)的棧只有2M的空間,上述代碼超出了棧的范圍導(dǎo)致程序崩潰,開啟異常設(shè)置之后出現(xiàn)提示:0xC00000FD: Stack overflow

4)Run-Time Check Failure #2 - Stack around the variable 'szError' was corrupted

_TCHAR szError[32] = { 0 };

wsprintf(szError, _T("avcodec_send_packet:%d\n"), nRet);
OutputDebugString(szError);

原因:如果nRet是一個(gè)非常大的整型,會(huì)導(dǎo)致數(shù)組越界,從而程序崩潰提示如上

影響

現(xiàn)象:在使用VS2005 c++調(diào)試程序時(shí),無法使用文件對(duì)話框打開文件,只要執(zhí)行打開文件對(duì)話框,就報(bào)0x7703c54f 處最可能的異常: 0x000006BA: RPC 服務(wù)器不可用的錯(cuò)誤。

解決方法

由于調(diào)試需要將調(diào)試菜單中的異常都打上勾,將勾都去掉,問題解決

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vs
AI