天天看點

Run-Time Check Failure #2 - Stack around the variable ‘xxx‘ was corrupted的解決方式

原文連結:https://blog.csdn.net/qq_43746320/article/details/104603363

Run-Time Check Failure #2 - Stack around the variable ‘xxx‘ was corrupted的解決方式

最近寫項目的時候碰到如下圖所示的報錯,困擾了我好久,終于在網上找到了解決方案,覺得需要記錄一下,具體如下:

說明:編譯器為VS2013

這個報錯字面意思是定義的變量xxx附近的記憶體被破壞了

一般情況下,第一反應就是堆棧溢出、記憶體通路越界 …沒錯,這是第一個解決方案

【解決方案】如果提示中的變量是指針類型變量,則大機率的就是數組通路越界,需要反複檢查數組下标通路的合法性

如果提示中的變量并不是指針,而是普通局部變量,在檢查代碼邏輯無誤後,此時問題的解決方案如下(具體出錯原因不太清楚,我認為是VS編譯器的優化問題)

【解決方案】:

方法一:可以将該局部變量設定為全局變量即可

方法二:可以在“ 項目 ---- 屬性 ---- 配置屬性 ---- C/C++ ---- 代碼生成 ---- 基本運作時檢查:”設定為預設值,點選應用,确定後即可

粗淺了解,不足之處,請指正!

繼續閱讀