找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2227|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

野指針 HEAP: Free Heap block 00000080FACA3FC0 modified at 00000080FACA4008 af...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:94349 發(fā)表于 2015-11-2 15:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果你是C/C++程序員,如果你寫過一個很復(fù)雜的程序,如果你經(jīng)常碰到莫名其妙的崩潰問題。那么你就有可能遭遇了野指針。如果你比較細心,注意了Debug output輸出窗口的話,那么你就有可能注意到這樣一行提示:



網(wǎng)絡(luò)上關(guān)于這個問題提問的人不少,但是真正給的出答案的卻少之又少。

那么何為野指針呢?
野指針與NULL指針不同.所謂野指針是指指針所指的內(nèi)存已經(jīng)回收,而繼續(xù)使用該指針,導(dǎo)致未定義行為.


===============================================================


GFlags是windows debug tools (https://msdn.microsoft.com/en-us/library/ff551063.aspx) 工具包下的一個工具,用來設(shè)置一些調(diào)試屬性,總體上分為3個級別System, Kernel, 和 Image File。
我們設(shè)置好Path環(huán)境變量,將其指向Debug tools工具的目錄下。
輸入如下命令行:
gflags /p App.exe /full
或者 pageheap app.exe /full
該命令行會在注冊表里設(shè)置一些調(diào)試參數(shù),使內(nèi)存在使用的時候加入了保護機制,所以一旦內(nèi)存寫越界,或者發(fā)生野指針的問題,都會導(dǎo)致一個中斷。由此,你就可以確定問題到底出在哪里了。


  


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表