在 Linux 中,我一直使用 valgrind 来检查应用程序中是否存在内存泄漏。 Windows 中的等价物是什么?这可以用 Visual Studio 2010 完成吗?
原文由 softwarematter 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Linux 中,我一直使用 valgrind 来检查应用程序中是否存在内存泄漏。 Windows 中的等价物是什么?这可以用 Visual Studio 2010 完成吗?
原文由 softwarematter 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
一个可靠的解决方案是使用 Address Sanitizer for visual studio。这是一个跨平台/跨编译器的解决方案,因此您获得的知识可以转移到 gcc 和 clang 。
该工具具有线程清理和一般内存错误检测(释放后使用、双重释放、未初始化使用等)的扩展,但泄漏检测是它的强项之一。您需要 Microsoft 编译器的
/fsanitize=address /Zi
选项,但您可以参考第一篇链接文章,了解如何将其合并到解决方案和更大的项目中(通过 CMake 配置或项目属性调整)