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

            edog

            冰凍熱狗
            數據加載中……

            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-15 14:36 冰凍熱狗 閱讀(3496) 評論(0)  編輯 收藏 引用 所屬分類: 平臺核心

            中文字幕久久精品无码| 91精品国产高清久久久久久国产嫩草| 久久精品国产亚洲5555| 久久亚洲色一区二区三区| 四虎国产精品成人免费久久| 亚洲级αV无码毛片久久精品| 999久久久无码国产精品| 久久亚洲国产精品123区| 国内精品久久久久影院一蜜桃| 久久久久国产| 狠狠色丁香婷婷综合久久来 | 久久精品夜色噜噜亚洲A∨| 久久久久久av无码免费看大片| 人妻无码αv中文字幕久久| 国产精品熟女福利久久AV| 久久精品国产亚洲av麻豆蜜芽| 国产亚洲成人久久| 97久久精品国产精品青草| 亚洲欧洲久久av| 久久精品国产国产精品四凭| 久久婷婷五月综合97色一本一本| 亚洲另类欧美综合久久图片区| 久久精品人人做人人爽电影| 中文字幕久久亚洲一区| 久久中文娱乐网| 久久99精品久久久久久hb无码| 欧美日韩精品久久久久| 国内精品久久久久久不卡影院| 99久久人妻无码精品系列| 香蕉久久av一区二区三区| 中文字幕精品久久| 久久夜色精品国产亚洲| 亚洲精品97久久中文字幕无码| 国产精品成人无码久久久久久 | 精品久久久久久无码中文野结衣 | 精品久久久久香蕉网| 亚洲人成精品久久久久 | 精品久久一区二区| 久久91精品久久91综合| 久久精品国产亚洲AV电影| 久久人妻少妇嫩草AV无码专区|