• <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>

            VcHelp

            Vc愛好者

            C++博客 首頁 新隨筆 聯系 聚合 管理
              2 Posts :: 2 Stories :: 3 Comments :: 0 Trackbacks

            C/C++程序內存泄漏檢測

            1. 包含頭文件和定義:
            #define _CRTDBG_MAP_ALLOC
            #include <stdlib.h>
            #include <crtdbg.h>
            如果定義了_CRTDBG_MAP_ALLOC,打印出來的是文件名和行數等更加直觀的信息。

            2. 方法一
            在程序入口寫幾個語句:
             int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
             tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
             _CrtSetDbgFlag( tmpFlag );
            程序退出時,如果發現有內存泄漏,會自動在DEBUG OUTPUT窗口和DebugView中輸出內存泄漏信息。

            3. 方法二
            在程序任何地方用以下語句:
            _CrtDumpMemoryLeaks();
            隨時檢測打印內存泄漏信息,如果有的話。不過此用法有個局限,對于一些全局函數,如果初始化時申請了內存,到程序結束時候才釋放,此函數會一直把新申請的內存當作泄漏來對待。

            4. 方法三
            使用_CrtMemCheckpoint方法,在某段程序中統計泄漏信息。如下:
             _CrtMemState s1, s2, s3;
             _CrtMemCheckpoint( &s1 );
             
             // 程序段1:DO SOMETHING

             _CrtMemCheckpoint( &s2 );
             if ( _CrtMemDifference( &s3, &s1, &s2) )
              _CrtMemDumpStatistics( &s3 );

            可以統計程序段1中是否發生了內存泄漏。

            posted on 2006-02-28 09:05 努力追求 閱讀(329) 評論(0)  編輯 收藏 引用
            久久亚洲国产精品一区二区| 无码精品久久久天天影视| 99久久精品费精品国产 | 色欲综合久久躁天天躁| 欧美国产成人久久精品| 久久精品欧美日韩精品| 性做久久久久久免费观看| 久久国产精品99精品国产| 看全色黄大色大片免费久久久| 色综合久久久久久久久五月| 久久本道综合久久伊人| 欧美va久久久噜噜噜久久| 精品久久久无码中文字幕| 精品少妇人妻av无码久久| 欧美精品福利视频一区二区三区久久久精品 | 无码专区久久综合久中文字幕 | 四虎久久影院| 久久免费美女视频| 久久夜色精品国产噜噜麻豆| 亚洲国产成人精品91久久久| 亚洲一本综合久久| 人妻精品久久无码专区精东影业| 久久综合色区| 久久亚洲av无码精品浪潮| 中文字幕久久欲求不满| 久久精品国产精品青草| 97久久香蕉国产线看观看| 久久久久亚洲av无码专区 | 国内精品久久久久久野外| 亚洲国产欧美国产综合久久| 国产成人精品久久| 亚洲国产欧美国产综合久久| 精品国产乱码久久久久软件| 久久人人爽人人人人片av| 精产国品久久一二三产区区别| 国产精品久久久久久五月尺| 欧洲国产伦久久久久久久| 午夜精品久久久久久| 国内高清久久久久久| 亚洲国产精品久久久天堂| 久久不见久久见免费视频7|