Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我的MFC应用程序中报告错误内存泄漏_C++_Visual C++_Mfc - Fatal编程技术网

C++ 我的MFC应用程序中报告错误内存泄漏

C++ 我的MFC应用程序中报告错误内存泄漏,c++,visual-c++,mfc,C++,Visual C++,Mfc,抱歉格式不好-写在我的手机上 退出MFC(也是cli)应用程序时,我收到许多错误内存泄漏报告 经调查,MFC AFXDDiagnosticInit函数调用太早,因此在调用我的CWinApp析构函数之前发生内存泄漏转储,导致许多误报内存泄漏 我如何确保更快地调用AFXDiagnostinit,以便在泄漏转储开始之前调用我的静态变量析构函数(例如CMyApp?尝试查找WinMain(),即构造CWinApp的同一函数,并将afXDiagnostinit()放在那里。尝试查找WinMain(),构建C

抱歉格式不好-写在我的手机上

退出MFC(也是cli)应用程序时,我收到许多错误内存泄漏报告

经调查,MFC AFXDDiagnosticInit函数调用太早,因此在调用我的CWinApp析构函数之前发生内存泄漏转储,导致许多误报内存泄漏


我如何确保更快地调用AFXDiagnostinit,以便在泄漏转储开始之前调用我的静态变量析构函数(例如CMyApp?

尝试查找
WinMain()
,即构造CWinApp的同一函数,并将
afXDiagnostinit()
放在那里。

尝试查找
WinMain()
,构建CWinApp时使用了相同的函数,并将
afxdiagnostinit()
放在那里。

只是一个跟进:我发现了真正的问题,它与以下事实有关:它是一个混合模式C++/CLI应用程序,CLI不允许CRT关闭

修订问题如下:

只是一个跟进:我发现了真正的问题,它与以下事实有关:它是一个混合模式C++/CLI应用程序,并且CLI不允许CRT关闭

修订问题如下:

作为替代解决方案,您还可以使用以下方法禁用MFC自动内存泄漏转储:

AfxEnableMemoryLeakDump(FALSE);
自VisualStudio2010以来,这一功能一直受到支持。有关文档,请参阅


您可以使用
\u CrtDumpMemoryLeaks()将泄漏转储到更合适的位置

作为替代解决方案,您还可以使用以下方法禁用MFC自动内存泄漏转储:

AfxEnableMemoryLeakDump(FALSE);
自VisualStudio2010以来,这一功能一直受到支持。有关文档,请参阅


您可以使用
\u CrtDumpMemoryLeaks()将泄漏转储到更合适的位置

windows是否对
新建
/
删除
进行泄漏检测?根据我的经验,它只能与
malloc()
/
free()
一起正常工作。但是,自然地,<代码> Malc /<代码>免费< /代码>不属于C++代码。似乎是期望的:(在底部-“假阳性”)Windows是否对<代码>新的< /代码> />代码>删除< /代码>进行漏洞检测?根据我的经验,它只能与
malloc()
/
free()
一起正常工作。但是,自然地, Malc /<代码> Fuelue/Cuth>不属于C++代码。