最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在VC++中檢測內(nèi)存泄露的方法

  發(fā)布時間:2012-05-14 09:29:57   作者:佚名   我要評論
在VC編程時,內(nèi)存泄露是個麻煩的事情,特別是有時候會產(chǎn)生比較嚴(yán)重的后果,下面給大家介紹一下檢測的方法
在VC編程時,內(nèi)存泄露是個麻煩的事情,特別是有時候會產(chǎn)生比較嚴(yán)重的后果,而且這種BUG還比較難查.幸好借助一些第三方的軟件,可以方便的找出會產(chǎn)生泄露的地方,比如BoundsChecker.有時候我們想簡單的了解我們的程序是否存在內(nèi)存泄露,還可以直接使用VC的調(diào)試庫.
  設(shè)置內(nèi)存泄漏檢測
  檢測內(nèi)存泄漏的基本工具是調(diào)試器和CRT調(diào)試堆函數(shù)。為了使用調(diào)試堆函數(shù),在你的程序中你必須含有下面的說明:
  #define _CRTDBG_MAP_ALLOC
  #include <stdlib.h>
  #include <crtdbg.h>
  #include說明必須按順序說明。如果你改變了順序,你所用的函數(shù)可能不能正常工作。包含crtdbg.h的_malloc_dbg和 _free_dbg將 malloc和free函數(shù)映射到測試版中,它可以跟蹤內(nèi)存的分配和釋放。這種映射僅僅在一個測試體系中發(fā)生(也就是說,僅僅當(dāng)_DEBUG被定義的時候)。釋放的體系使用通常的malloc和 free功能。
  #define說明映射CRT堆函數(shù)的低級版本到相應(yīng)的測試版本。這個說明是不需要的,但是沒有它,內(nèi)存泄漏處含有的只是沒有多大用處的信息。
  一旦你已經(jīng)增加了剛才的說明,你能夠通過在你的程序中包含下面的說明來釋放內(nèi)存信息:
  _CrtDumpMemoryLeaks();
  當(dāng)你在調(diào)試情況下運(yùn)行你的程序時,在輸出窗口的Debug 標(biāo)簽處_CrtDumpMemoryLeaks表現(xiàn)出內(nèi)存泄漏的信息。內(nèi)存泄漏信息類似下面這樣:
  Detected memory leaks!
  Dumping objects ->
  C:PROGRAM FILESVISUAL STUDIOMyProjectsleaktestleaktest.cpp(20) : {18} normal block at 0x00780E80, 64 bytes long.
  Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
  Object dump complete.

相關(guān)文章

最新評論

黄骅市| 海伦市| 新野县| 灌南县| 古蔺县| 雅安市| 富源县| 郓城县| 延庆县| 永兴县| 固阳县| 永州市| 德钦县| 邵阳县| 永泰县| 炉霍县| 镇巴县| 呼伦贝尔市| 沐川县| 民权县| 昌都县| 古浪县| 科技| 松原市| 湖州市| 福鼎市| 日照市| 安义县| 沛县| 大石桥市| 左云县| 手机| 宾川县| 秭归县| 南丰县| 凤城市| 油尖旺区| 万源市| 六盘水市| 色达县| 扶余县|