0

我第一次尝试使用 CRT 库来检测内存泄漏。我已经#define _CRTDBG_MAP_ALLOC在程序的请求中定义了。我的程序由类一结构和主要功能组成。在我_CrtDumpMemoryLeaks();最后的主要功能中。我尝试遵循这些说明

我想得到分配数据的行,导致内存泄漏,但我得到这样的输出:

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 中完成。我没有得到分配号的原因是什么?如果需要,我可以添加我的代码。
谢谢你的帮助。

4

1 回答 1

1

好的,用我提供的信息无法回答我的问题(对不起)。问题是我有一个基类和派生类。在基类中我没有虚拟析构函数。添加虚拟析构函数解决了我的问题并消除了所有内存泄漏。

于 2022-01-06T15:09:30.373 回答