我有一个隐式(使用libs及其DLL)加载DLL的宿主程序。当我故意进行内存泄漏时,在我的宿主程序中,CrtDbg*
函数检测到泄漏。当我故意在其中一个DLL中造成内存泄漏时,不会检测到泄漏。
注意:在我的主机中,我在主函数终止后激活_CrtDumpMemoryLeaks
函数。
答案 0 :(得分:3)
您的DLL很可能静态链接到CRT。 (或者它们是零售版本,但您的EXE是调试版本)。无论哪种方式,您都有多个堆。当您调用_CrtDeumpMemoryLeaks时,它只能跟踪调用的二进制文件的未释放内存分配。你有两个选择。
或强>