VS報錯:DEBUG Assertion Failed!


使用vs2010時,遇到如下錯誤

然后點擊繼續后:

點擊終止:

觀察變量:

 

根據提示發現,有可能是斷點問題,於是猜想可能是指針的錯誤。

google發現,這種錯誤可能是由於指針的釋放跨越了模塊。比如我的程序中代碼如下:

int *aa;

aa= (int *)calloc(2* n, sizeof(int));

free(aa);

這個是正常的步驟。

但是我失敗的例子是這樣的:

int aa[10]={0};

free(aa);

就會造成指針的越級釋放,從而引發斷電。

也就是說,釋放指針遵循:誰申請誰釋放。在int aa[10]={0};並沒有申請指針,雖然可以通過aa當做指針來使用,但是沒有申請的操作,釋放也自然回引起無效指針釋放,從而引發斷電。

 

如有異議,還請留言聯系,共同進步。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM