a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 編程設計 > 正文

在VC++中檢測內存泄露的方法

2020-07-14 13:37:38
字體:
來源:轉載
供稿:網友
在VC編程時,內存泄露是個麻煩的事情,特別是有時候會產生比較嚴重的后果,而且這種BUG還比較難查.幸好借助一些第三方的軟件,可以方便的找出會產生泄露的地方,比如BoundsChecker.有時候我們想簡單的了解我們的程序是否存在內存泄露,還可以直接使用VC的調試庫.
  設置內存泄漏檢測
  檢測內存泄漏的基本工具是調試器和CRT調試堆函數。為了使用調試堆函數,在你的程序中你必須含有下面的說明:
  #define _CRTDBG_MAP_ALLOC
  #include <stdlib.h>
  #include <crtdbg.h>
  #include說明必須按順序說明。如果你改變了順序,你所用的函數可能不能正常工作。包含crtdbg.h的_malloc_dbg和 _free_dbg將 malloc和free函數映射到測試版中,它可以跟蹤內存的分配和釋放。這種映射僅僅在一個測試體系中發生(也就是說,僅僅當_DEBUG被定義的時候)。釋放的體系使用通常的malloc和 free功能。
  #define說明映射CRT堆函數的低級版本到相應的測試版本。這個說明是不需要的,但是沒有它,內存泄漏處含有的只是沒有多大用處的信息。
  一旦你已經增加了剛才的說明,你能夠通過在你的程序中包含下面的說明來釋放內存信息:
  _CrtDumpMemoryLeaks();
  當你在調試情況下運行你的程序時,在輸出窗口的Debug 標簽處_CrtDumpMemoryLeaks表現出內存泄漏的信息。內存泄漏信息類似下面這樣:
  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.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美日韩电影一区二区三区 | 国产偷v国产偷∨精品视频 国产偷v国产偷v亚洲 | 成人免费xxxxxxx | 中文字幕国产一区 | 亚洲精品免费在线观看 | 天天干天天插 | 国产欧美一区二区三区在线看 | 狠狠夜夜 | 日本在线高清 | 日韩欧美在线播放 | 一二三区不卡视频 | 人人干人人干人人 | 五月婷婷综合激情 | 日韩中文一区 | 亚洲精片| 免费观看成人羞羞视频网站观看 | 国产成人高清精品免费5388 | 成全视频免费观看在线看黑人 | 欧美一级免费大片 | 久久九九国产精品 | 最新av中文字幕 | 日韩欧美国产一区二区 | 91精品国产人妻国产毛片在线 | 九九热视频在线 | 国产亚洲综合视频 | 欧美成人a交片免费看 | 国产精品美乳一区二区免费 | 在线精品亚洲欧美日韩国产 | 91伊人| 在线观看不卡一区 | 最新国产在线视频 | 久久精品小视频 | 久久精品小视频 | 草草在线视频 | 国产精品久久91 | 久久久免费 | 国产在线不卡观看 | 狠狠色丁香婷婷综合 | 日韩欧美国产一区二区 | 在线不卡小视频 | 欧美日本在线观看 |