• <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)  編輯 收藏 引用
            jizzjizz国产精品久久| 香蕉久久AⅤ一区二区三区| av午夜福利一片免费看久久| 国内精品伊人久久久久AV影院| 99久久中文字幕| 久久久久久亚洲精品无码| 精品久久久一二三区| 国产精品久久久久久久久鸭| 无码国内精品久久人妻麻豆按摩| 亚洲AV日韩精品久久久久| 国产精品免费久久久久久久久| 人人狠狠综合久久亚洲高清| 国产成人综合久久综合| 久久久久久久免费视频| 久久精品男人影院| 亚洲va久久久噜噜噜久久狠狠| 久久婷婷五月综合色99啪ak| 97r久久精品国产99国产精| 尹人香蕉久久99天天拍| 国产视频久久| 国产一区二区三区久久| 国产亚洲精久久久久久无码77777| 一本大道久久a久久精品综合| 久久久久久久97| 亚洲乱码中文字幕久久孕妇黑人| 无码任你躁久久久久久| 99久久婷婷国产一区二区| www.久久精品| 久久国产乱子伦精品免费强| 日韩av无码久久精品免费| 囯产极品美女高潮无套久久久 | 亚洲精品无码久久久久久| 九九热久久免费视频| 国产91久久综合| 人人狠狠综合久久亚洲婷婷| 99久久超碰中文字幕伊人| 色婷婷综合久久久久中文| 亚洲综合日韩久久成人AV| 久久精品国产AV一区二区三区 | 国产精品美女久久久| 99久久精品费精品国产一区二区 |