• <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 努力追求 閱讀(334) 評論(0)  編輯 收藏 引用
            无码人妻少妇久久中文字幕| 久久精品国产影库免费看 | 久久99国产综合精品| 狠狠88综合久久久久综合网| 欧美精品一区二区精品久久| 热久久国产欧美一区二区精品| 亚洲日本va中文字幕久久| 日韩精品久久久久久| 亚洲日本va中文字幕久久| 久久av免费天堂小草播放| 久久亚洲AV无码精品色午夜 | 久久人妻无码中文字幕| 久久九九青青国产精品| 亚洲精品无码久久久影院相关影片 | 久久精品亚洲日本波多野结衣 | 久久狠狠一本精品综合网| 色婷婷综合久久久久中文| 久久人人爽人人爽人人片AV东京热| 国产精品久久久久久吹潮| 99蜜桃臀久久久欧美精品网站 | 热综合一本伊人久久精品| 久久被窝电影亚洲爽爽爽| 中文字幕久久精品无码| 色狠狠久久综合网| 美女久久久久久| 中文字幕无码久久久| 久久婷婷是五月综合色狠狠| 久久精品国产亚洲av瑜伽| 久久av免费天堂小草播放| 国产精品欧美久久久久无广告| 日本三级久久网| 精品99久久aaa一级毛片| 精品国产91久久久久久久a| 精品国产热久久久福利| 久久国产精品一区| 亚洲国产成人精品久久久国产成人一区二区三区综| 久久精品一区二区三区不卡| 国产成人精品久久| 亚洲七七久久精品中文国产| 久久成人国产精品免费软件| 色综合久久久久无码专区|