• <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 努力追求 閱讀(345) 評論(0)  編輯 收藏 引用
            久久婷婷是五月综合色狠狠| 欧美粉嫩小泬久久久久久久 | 日韩精品无码久久久久久| 久久精品成人欧美大片| 国内精品久久久久久久97牛牛| 91精品国产综合久久香蕉| 久久亚洲精品成人无码网站| 91久久婷婷国产综合精品青草 | 久久影院午夜理论片无码 | 久久精品二区| 久久久精品国产sm调教网站| 精品久久久久久无码人妻蜜桃| 99久久国产精品免费一区二区| 91精品国产高清久久久久久91| 久久综合九色综合网站| 无码人妻久久一区二区三区蜜桃| 色欲综合久久躁天天躁蜜桃| 久久伊人中文无码| 99久久精品久久久久久清纯| 亚洲va久久久噜噜噜久久男同| 久久91精品综合国产首页| 亚洲乱亚洲乱淫久久| 亚洲国产精品成人久久| 亚洲国产成人久久一区久久| 日韩欧美亚洲综合久久影院d3| 亚洲综合精品香蕉久久网| 人人妻久久人人澡人人爽人人精品| 嫩草影院久久国产精品| 久久99免费视频| 国产日产久久高清欧美一区| 久久久久久亚洲精品成人| 久久九九久精品国产免费直播| 欧美成人免费观看久久| 青青久久精品国产免费看| 日本高清无卡码一区二区久久| 久久精品国产清自在天天线| 国产精品成人久久久久久久| 久久国产香蕉一区精品| 人人狠狠综合久久亚洲| 久久精品国产亚洲αv忘忧草| 99久久精品国产一区二区|