青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨心動(dòng)

(轉(zhuǎn))(轉(zhuǎn))如何調(diào)試MFC的內(nèi)存泄露

VC++ IDE 的默認(rèn)狀態(tài)(VC6)是沒有啟用內(nèi)存泄漏檢測機(jī)制的,也就是說即使某段代碼有內(nèi)存泄漏,調(diào)試會(huì)話的 Output 窗口的 Debug 頁不會(huì)輸出有關(guān)內(nèi)存泄漏信息。你必須設(shè)定以啟用內(nèi)存泄漏檢測機(jī)制。


 
按下面的方法使用調(diào)試堆函數(shù)
在XXXView.cpp中添加下面粗體行

你再看看輸出結(jié)果,是不是有很多的內(nèi)存泄漏?

#define _CRTDBG_MAP_ALLOC
#include<stdlib.h>
#include<crtdbg.h>


CXXXView::~CXXXView()
{
     _CrtDumpMemoryLeaks();
}

文章出處:DIY部落(http://www.diybl.com/course/3_program/c++/cppjs/2007925/73624.html)

       首先,應(yīng)該是MFC報(bào)告我們發(fā)現(xiàn)內(nèi)存泄漏。注意:要多運(yùn)行幾次,以確定輸出的內(nèi)容不變,特別是{}之間的數(shù)值,不能變,否則下面的方法就不好用了。
image001.jpg

        我們來看看:

F:\CodeSample\Test\TestPipe\LeakTest\MainFrm.cpp( 54 { 86 normal block at  0x00422E80 10  bytes  long .
 Data: 
<            >  1F 1F 1F 1F 1F CD CD CD CD CD 


         F:\CodeSample\Test\TestPipe\LeakTest\MainFrm.cpp(54) 告訴我們MFC認(rèn)為是在該文件的54行,發(fā)生了內(nèi)存泄漏。你雙擊改行就可以轉(zhuǎn)到該文件的54行了。但是有時(shí)候這一信息并不能用來準(zhǔn)確判斷,比如:MFC可能報(bào)告Strcore.cpp文件的某行,實(shí)際上這是CString的實(shí)現(xiàn)函數(shù),此時(shí)并不知道什么時(shí)候發(fā)生了內(nèi)存泄漏。

         此時(shí)我們需要更多的信息。那么我們看看緊接其后的:

{ 86 normal block at  0x00422E80 10  bytes  long .
 Data: 
<            >  1F 1F 1F 1F 1F CD CD CD CD CD 


         它告訴我們:在第86次分配的內(nèi)存沒有釋放,一共有10字節(jié),內(nèi)容移16進(jìn)制方式打印給我們看。

         有了這些信息,我們可以開始調(diào)試內(nèi)存泄漏了。

         按下F10在程序的剛開始處,停下來,打開Watch窗口:

image002.jpg

         在Watch窗口中輸入:

{,,msvcrtd.dll}_crtBreakAlloc


  image003.jpg

         然后更改值為上文提到的分配次數(shù):86

image004.jpg

         接著按下F5繼續(xù),然后在第86次分配的時(shí)候會(huì)發(fā)生中斷:

image005.jpg

         然后我們打開堆棧窗口:

image006.jpgimage007.jpg

      往回查看最近我們自己的代碼,雙擊堆棧我們自己的函數(shù)那一層,上圖有綠色三角的那一層。就定位到泄漏時(shí)分配的內(nèi)存了。

image008.jpg

         之后,就是看你的編碼功底了。




 

你也許還沒用過的vc++的調(diào)試的功能

From: http://www.cnitblog.com/Raistlin/archive/2005/12/14/5380.html

剛剛在IT博客網(wǎng)閑逛的時(shí)候看到了孤獨(dú)的夜的一片文章《如何調(diào)試MFC中的內(nèi)存泄漏》,講道用設(shè)置{,,msvcrtd.dll}_crtBreakAlloc這個(gè)變量來調(diào)試內(nèi)存泄露的問題。

How to use _crtBreakAlloc to debug a memory allocation你可以找到英文的更完整的版本,靜態(tài)鏈接和動(dòng)態(tài)連接到C運(yùn)行庫的名稱是不一樣的
靜態(tài):_crtBreakAlloc
動(dòng)態(tài):{,,msvcr40d.dll}*__p__crtBreakAlloc()  (vc++4.0 和4.1版本,估計(jì)沒人在用吧)
         {,,msvcrtd.dll}*__p__crtBreakAlloc()  (Visual C++ 4.2 or later)
         {,,msvcrtd.dll}_crtBreakAlloc (好像這樣也是可以的)


{,,msvcrtd.dll}__p__crtBreakAlloc()是個(gè)什么東西呢?

查看msdn索引“Advanced Breakpoint”and you will find out...

語法如下:
{[function],[source],[exe] } location
{[function],[source],[exe] } variable_name
{[function],[source],[exe] } expression_r_r
這個(gè)是我轉(zhuǎn)的時(shí)候的地址:http://blog.sina.com.cn/s/blog_630d564a0100gq5k.html

posted on 2012-07-27 19:20 陳志遠(yuǎn) 閱讀(472) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導(dǎo)航

<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

統(tǒng)計(jì)

常用鏈接

留言簿

隨筆檔案

文章分類

Othor's blog

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久在线播放| 欧美激情精品久久久久久久变态| 国产精品超碰97尤物18| 一区二区三区国产盗摄| 亚洲人精品午夜在线观看| 奶水喷射视频一区| 亚洲精品国精品久久99热| 亚洲日本一区二区三区| 欧美高清hd18日本| 亚洲网站视频福利| 亚洲午夜激情| 国产一区视频观看| 欧美激情精品久久久久久变态| 欧美成人在线网站| 亚洲一区在线免费观看| 亚洲欧美一区二区视频| 亚洲第一主播视频| 日韩午夜激情av| 国产精品一区视频网站| 玖玖玖国产精品| 欧美人与禽猛交乱配| 亚洲欧美日韩国产精品 | 亚洲二区精品| 欧美日韩亚洲不卡| 久久国产精品一区二区| 麻豆亚洲精品| 亚洲欧美激情四射在线日| 欧美一级艳片视频免费观看| 亚洲国产精品激情在线观看| 一区二区三区欧美亚洲| 国产一区二区三区四区hd| 亚洲欧洲一区二区三区在线观看| 国产精品影音先锋| 亚洲高清视频在线观看| 国产欧美成人| 亚洲精品一区二区在线观看| 国产亚洲欧洲| 在线视频亚洲欧美| 亚洲国产精品一区二区久| 一区二区三区视频在线播放| 尤物yw午夜国产精品视频明星| 一区二区三区四区五区精品| 亚洲承认在线| 久久爱www.| 亚洲欧美视频一区二区三区| 欧美成人dvd在线视频| 久久九九精品99国产精品| 欧美日韩调教| 亚洲欧洲一区二区天堂久久| 一区二区三区在线免费观看| 亚洲女人av| 亚洲一区区二区| 欧美精品久久99| 欧美成人性网| 一区在线影院| 久久国产精品99国产| 香蕉精品999视频一区二区 | 亚洲一区二区三区影院| 亚洲毛片一区| 免费在线亚洲| 亚洲第一区色| 亚洲人成网站在线观看播放| 久久久久国产精品人| 久久久久国产免费免费| 国产视频一区在线| 亚洲综合成人婷婷小说| 亚洲男女自偷自拍图片另类| 欧美色中文字幕| 一区二区三欧美| 亚洲欧美一区二区三区在线| 欧美午夜精品伦理| 一区二区日韩伦理片| 亚洲视屏在线播放| 欧美天堂在线观看| 一本色道**综合亚洲精品蜜桃冫| 亚洲美女毛片| 欧美日韩在线观看一区二区三区| 亚洲经典在线| 中文精品视频一区二区在线观看| 欧美日韩一区二区在线视频| 在线综合+亚洲+欧美中文字幕| 亚洲伊人网站| 国产精品青草综合久久久久99| 亚洲欧美日韩一区二区三区在线| 欧美一区二区成人| 狠狠综合久久av一区二区小说| 久久精品天堂| 亚洲人成欧美中文字幕| 亚洲女人天堂成人av在线| 国产老女人精品毛片久久| 久久国产主播| 亚洲国产精选| 午夜精品亚洲一区二区三区嫩草| 国产亚洲福利| 欧美国产日本高清在线| 在线亚洲电影| 免费不卡亚洲欧美| 日韩一二三区视频| 国产精品视频xxx| 麻豆国产精品va在线观看不卡| 亚洲人精品午夜在线观看| 亚洲欧美一区二区在线观看| 在线观看欧美日韩| 欧美视频福利| 久久综合伊人77777蜜臀| 日韩性生活视频| 久久这里只有| 亚洲专区一区| 亚洲三级免费观看| 国产视频亚洲精品| 欧美国产免费| 欧美在线日韩精品| 亚洲精品一二区| 狂野欧美一区| 亚洲欧美日韩视频二区| 伊人久久综合97精品| 国产精品久久久一本精品| 久久久精品欧美丰满| 亚洲视频免费在线观看| 欧美国产一区二区在线观看| 午夜精品在线观看| 日韩视频免费观看高清完整版| 韩国三级电影久久久久久| 欧美日韩精品在线| 久久综合久久综合九色| 性欧美video另类hd性玩具| 亚洲精品国产精品国产自| 欧美影院久久久| 亚洲图中文字幕| 一本到12不卡视频在线dvd| 激情五月婷婷综合| 国产欧美一区二区色老头| 欧美片网站免费| 欧美电影在线观看完整版| 久久久久看片| 久久人人超碰| 久久狠狠亚洲综合| 性色av香蕉一区二区| 亚洲一区二区日本| 99在线视频精品| 一区二区三区你懂的| 亚洲精品一区二区三区四区高清| 欧美国产日韩一区| 欧美成人精品激情在线观看| 久久综合九色综合网站 | 亚洲区第一页| 亚洲国产另类久久久精品极度| 伊人久久婷婷色综合98网| 一区二区三区在线观看视频| 韩国av一区二区三区在线观看| 国产亚洲毛片在线| 好吊一区二区三区| 国产综合亚洲精品一区二| 一区二区在线看| 亚洲精品美女在线| 亚洲毛片在线观看| 中日韩男男gay无套| 亚洲已满18点击进入久久| 欧美一级网站| 久热精品视频在线免费观看| 麻豆精品视频在线观看| 欧美黑人在线观看| 亚洲美女av电影| 亚洲欧美久久久久一区二区三区| 欧美中文字幕不卡| 久久中文字幕一区二区三区| 欧美激情一区三区| 国产精品啊啊啊| 国产一区二区高清不卡| 在线精品国精品国产尤物884a| 亚洲精品日本| 午夜精品美女久久久久av福利| 亚洲第一色在线| 久久婷婷国产综合尤物精品| 国内一区二区三区| 国产欧美日韩综合精品二区| 欧美激情第10页| 欧美一区二区三区成人| 久久精品中文| 欧美日韩高清在线播放| 国产目拍亚洲精品99久久精品 | 亚洲女性喷水在线观看一区| 性欧美长视频| 欧美日本一道本在线视频| 国产精品嫩草影院一区二区 | 欧美理论在线| 国产午夜亚洲精品羞羞网站| 亚洲人www| 性欧美大战久久久久久久久| 欧美激情成人在线视频| 亚洲自拍三区| 欧美喷潮久久久xxxxx| 国模大胆一区二区三区| 一区二区三区|亚洲午夜| 久久这里只有| 亚洲欧美视频一区二区三区| 欧美精品观看| 亚洲国产综合91精品麻豆| 欧美在线高清| 亚洲欧洲日产国码二区|