在我的应用程序中,我希望 C++ 运行时库自动检测内存泄漏。在 Win32 应用程序中,通过添加以下代码可以很好地工作:
#if defined(_DEBUG) || defined(DEBUG)
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
#endif
不幸的是,在通用 Windows 应用程序中,这没有效果。我试图手动调用 _CrtDumpMemoryLeaks()
,但我真的找不到合适的地方来执行此操作。我将不胜感激任何建议。谢谢!
最佳答案
Win32 和 UWP 应用程序是完全不同类型的应用程序,因此某些库可能会在任一平台上运行。
您可以通过在 Visual Studio 中运行内置的内存使用和性能诊断工具来检查内存泄漏。您可以收集不同的内存快照并在内存工具中进行比较。请通过 this和 this了解更多技术介绍和实现。
关于c++ - 通用 Windows 平台上的内存泄漏检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48133199/