国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
VC:內(nèi)存溢出(HEAP: Free Heap block ×××modified at ×××after it was freed)

2009-12-15 23:02:20|  分類: 疑難雜癥

HEAP: Free Heap block ×××modified at ×××after it was freed

問題很嚴重!第一次出現(xiàn)異常提示時,程序依然繼續(xù)運行;若干次之后,程序異常中斷,函數(shù)調(diào)用棧不能提供足夠的有效信息。

看起來似乎是內(nèi)存重復(fù)釋放的問題,其實不然!因為程序是在若干次循環(huán)后才出現(xiàn)這一問題,如果是重復(fù)釋放,應(yīng)該是第一次循環(huán)就會出現(xiàn)這個問題。

剛才我在路上仔細想了一下,覺得是由于內(nèi)存溢出導致的,而不是重復(fù)釋放內(nèi)存。其實,這類似于ShellCode的原理,即越界訪問。由于程序是在Debug模式下運行,Debug模式下,內(nèi)存不是緊湊排列的,所以,雖然有越界訪問,但不會立刻導致程序崩潰。

如果這一推斷正確,那么,release模式下,程序應(yīng)該崩潰!但是結(jié)果令我大失所望。

 

2009.12.16

VC:視頻壓縮的內(nèi)存溢出問題

之前認為這是filter隊列阻塞所致。而我改用線程處理,問題依舊,于是,我認為這是內(nèi)存溢出,而不是隊列滿了的緣故。

我使用了幾種偵測內(nèi)存溢出的方法檢測代碼,發(fā)現(xiàn)并沒有內(nèi)存溢出,一切正常。于是,我再次想到隊列阻塞。

 

問題重現(xiàn):

為了證實這一判斷,我在Transform中加入如下代碼:
 Sleep(1000);
 return NOERROR;

Filter Graph大約每秒傳遞10個數(shù)據(jù)塊,如果我強制性地Sleep,造成人為性的隊列阻塞,應(yīng)該是可以再現(xiàn)上面的問題的!

而事實正是如此!十幾秒之后,同樣的問題出現(xiàn)了!

由此可以斷定,這個問題是隊列阻塞所致。由于隊列是由DirectShow來管理的,所以,這里要分析和處理的話,還是比較困難的,需要重載相關(guān)的類。只能是提升壓縮效率了。


(###)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java程序內(nèi)存分析:JMap與Eclipse Memory Analyzer - COD...
隊列、堆、棧、堆棧的區(qū)別?
Cortex-M3精通之路-1(匯編啟動文件)
深入理解malloc和free
不要將數(shù)據(jù)庫中的“分庫分表”理論盲目應(yīng)用到 Elasticsearch
Objective
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服