国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 應(yīng)用 > 軟件技巧 > 正文

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

2024-07-15 01:59:38
字體:
供稿:網(wǎng)友
在VC編程時(shí),內(nèi)存泄露是個(gè)麻煩的事情,特別是有時(shí)候會(huì)產(chǎn)生比較嚴(yán)重的后果,而且這種BUG還比較難查.幸好借助一些第三方的軟件,可以方便的找出會(huì)產(chǎn)生泄露的地方,比如BoundsChecker.有時(shí)候我們想簡(jiǎn)單的了解我們的程序是否存在內(nèi)存泄露,還可以直接使用VC的調(diào)試庫.
  設(shè)置內(nèi)存泄漏檢測(cè)
  檢測(cè)內(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ù)映射到測(cè)試版中,它可以跟蹤內(nèi)存的分配和釋放。這種映射僅僅在一個(gè)測(cè)試體系中發(fā)生(也就是說,僅僅當(dāng)_DEBUG被定義的時(shí)候)。釋放的體系使用通常的malloc和 free功能。
  #define說明映射CRT堆函數(shù)的低級(jí)版本到相應(yīng)的測(cè)試版本。這個(gè)說明是不需要的,但是沒有它,內(nèi)存泄漏處含有的只是沒有多大用處的信息。
  一旦你已經(jīng)增加了剛才的說明,你能夠通過在你的程序中包含下面的說明來釋放內(nèi)存信息:
  _CrtDumpMemoryLeaks();
  當(dāng)你在調(diào)試情況下運(yùn)行你的程序時(shí),在輸出窗口的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.
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 望都县| 阜平县| 鸡西市| 桐庐县| 渑池县| 荔浦县| 四平市| 宣汉县| 嘉善县| 鄂托克旗| 香港 | 咸宁市| 嘉黎县| 大丰市| 华坪县| 松阳县| 定襄县| 福泉市| 白城市| 盘锦市| 北流市| 清远市| 密云县| 浦江县| 林甸县| 新竹县| 板桥市| 水城县| 上犹县| 乡宁县| 扎赉特旗| 定西市| 桂林市| 东乌珠穆沁旗| 缙云县| 屏南县| 旬邑县| 黔江区| 年辖:市辖区| 肥西县| 闽清县|