我有一个主机程序隐式(使用库及其 DLL)加载 DLL。当我故意进行内存泄漏时,在我的主机程序中,CrtDbg*
函数会检测到泄漏。当我故意在其中一个 DLL 中发生内存泄漏时,不会检测到泄漏。
注意:在我的主机中,我_CrtDumpMemoryLeaks
在主功能终止后激活该功能。
我有一个主机程序隐式(使用库及其 DLL)加载 DLL。当我故意进行内存泄漏时,在我的主机程序中,CrtDbg*
函数会检测到泄漏。当我故意在其中一个 DLL 中发生内存泄漏时,不会检测到泄漏。
注意:在我的主机中,我_CrtDumpMemoryLeaks
在主功能终止后激活该功能。
您的 DLL 很可能静态链接到 CRT。(或者它们是零售版本,但您的 EXE 是调试版本)。不管怎样,你有不止一个堆。当您调用 _CrtDeumpMemoryLeaks 时,它只能跟踪发出调用的二进制文件的未释放内存分配。你有两个选择。
或者