簡體   English   中英

嘗試使用 crtdbg.h 查找 memory 泄漏時出現問題

[英]Problem when trying to find memory leaks by using crtdbg.h

我第一次嘗試使用 CRT 庫來檢測 memory 泄漏。 我在程序請求時定義了#define _CRTDBG_MAP_ALLOC 我的程序由第一類結構和主要 function 組成。 在主要 function 我有_CrtDumpMemoryLeaks(); 在最后。 我嘗試遵循這些說明

我想得到分配數據的行,導致 memory 泄漏,但我得到 output 像這樣:

Detected memory leaks!  
Dumping objects ->  
{326} normal block at 0x00E02C40, 8 bytes long.   
 Data: <<#      > 3C 23 E0 00 00 00 00 00    
{322} normal block at 0x00E02CB0, 8 bytes long.   
 Data: <L       > 4C 1F E0 00 00 00 00 00  
{318} normal block at 0x00E02AF0, 8 bytes long.  
 Data: < "      > CC 22 E0 00 00 00 00 00  
{312} normal block at 0x00E02A10, 8 bytes long.  
 Data: < $      > FC 24 E0 00 00 00 00 00  
...

我不會在我的程序中的任何地方退出,它總是在 main 中完成。 我沒有得到分配號的原因是什么? 如果需要,我可以添加我的代碼。
謝謝你的幫助。

好的,用我提供的信息無法回答我的問題(對不起)。 問題是我有一個 Base class 和派生類。 在基礎 class 中,我沒有虛擬析構函數。 添加虛擬析構函數解決了我的問題並刪除了所有 memory 泄漏。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM