我发现我的应用程序中某处存在内存泄漏,但我在缩小范围时遇到了麻烦。我已尝试按照此示例_CrtDumpMemoryLeaks
中的说明使用该函数,但它不显示文件名。所以,我一直试图通过在不同的点调用这个转储函数来找到内存泄漏的第一点(根据输出似乎有很多)。似乎我很早就在对象的构造函数中立即获得了很多。
经过进一步调查,我似乎得到了它们的定义,std::unordered_map
甚至到了一个简单的 main 函数,它只声明一个局部变量有一个内存泄漏。
例如以下代码会产生内存泄漏:
void main()
{
_CrtDumpMemoryLeaks(); // executing this line, no memeory leaks found
std::unordered_map<int, int> intMap;
_CrtDumpMemoryLeaks(); // executing this line, memeory leaks found
}
在这一点上,我完全感到困惑,并且感觉追逐这个不会帮助我找到我最初注意到的内存泄漏。
很感谢任何形式的帮助。