gpt4 book ai didi

c++ - VS2012、C++11 和内存泄漏检测(VLD 与 CRTDBG)

转载 作者:可可西里 更新时间:2023-11-01 16:04:53 25 4
gpt4 key购买 nike

我用 CRTDBG 检测到一堆内存泄漏,但发现它们很难追踪,所以安装了 Visual Leak Detection。这显示了一致数量的泄漏,我将其追溯到没有虚拟析构函数的抽象类。我修复了这个问题,VLD 现在在我的应用程序中没有显示内存泄漏,但是 CRTDBG 仍然存在,并且一直显示大约 100 次左右的泄漏。

C++11 能否信任这些工具中的任何一个?我大量使用唯一指针,没有它们几乎没有创建任何新对象,所以无法理解泄漏的来源。

最佳答案

如果在 main() 中的堆栈上有一些全局对象或其他东西,它们不会在 main() 退出之前被销毁。

如果这些对象执行动态内存分配并且您在 main() 的最后调用 _CrtDumpMemoryLeaks(),您仍然会看到该内存“泄漏”。 "

关于c++ - VS2012、C++11 和内存泄漏检测(VLD 与 CRTDBG),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14548135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com