我第一次尝试使用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
...我在我的程序中没有退出任何地方,它总是在主要完成。我没有分配号码的原因是什么?如果需要,我可以添加我的代码。
谢谢你的帮助。
发布于 2022-01-06 15:09:30
好吧,我不可能用我给出的信息来回答我的问题(对不起)。问题是我有一个基类和一个派生类。在基类中,我没有虚拟析构函数。添加虚拟析构函数解决了我的问题,并删除了所有内存泄漏。
https://stackoverflow.com/questions/70608713
复制相似问题