我在我的 MS VC++ 2005 项目中启用了堆调试,当程序退出最后一个析构函数时,我在那里调用了 _CrtDumpMemoryLeaks()(也启用了 _CRTDBG_MAP_ALLOC。但后来我看到了以下调试断言屏幕:
之后我点击 Retry 来调试它,它把我带到一些代码(这不是我的),我在其中看到如下内容:
char* name;
cstub.get("...", name);
delete [] name;
我在想,也许名称是在 get(..) 函数中分配的;无论如何,我的问题是:从屏幕截图来看,这是一个内存/堆错误吗?我可能不得不深入研究 cstub 的 get 函数在做什么。感谢您的任何想法。