1. 程式人生 > >Visual Studio如何檢查記憶體洩漏

Visual Studio如何檢查記憶體洩漏

https://msdn.microsoft.com/zh-cn/library/x98tx3cf.aspx

Clion中有專門檢查記憶體洩漏的選項,而VS中卻沒有。但是我們可以通過下面的方法檢查:

  • 在程式的開頭加上下面三行:
#define CRTDBG_MAP_ALLOC  
#include <stdlib.h>    
#include <crtdbg.h>
  • 在main函式結尾,也就是return 0 的上一行加上下面程式碼:
_CrtDumpMemoryLeaks();
  • 通過debug模式執行,不設斷點,直接跑完程式,在輸出介面會顯示記憶體洩漏的內容,例如:
Dumping objects ->
{205} normal block at 0x01362090, 8 bytes long.
 Data: < 76     > AC 37 36 01 00 00 00 00 
  • 為了定位出錯點,使用下面的程式碼,會在記憶體洩漏點觸發異常:
_CrtSetBreakAlloc(205);