使用 Visual Studio 在 C 应用程序中查找内存泄漏

新手上路,请多包涵

在 Linux 中,我一直使用 valgrind 来检查应用程序中是否存在内存泄漏。 Windows 中的等价物是什么?这可以用 Visual Studio 2010 完成吗?

原文由 softwarematter 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 643
1 个回答

一个可靠的解决方案是使用 Address Sanitizer for visual studio。这是一个跨平台/跨编译器的解决方案,因此您获得的知识可以转移到 gcc 和 clang

该工具具有线程清理和一般内存错误检测(释放后使用、双重释放、未初始化使用等)的扩展,但泄漏检测是它的强项之一。您需要 Microsoft 编译器的 /fsanitize=address /Zi 选项,但您可以参考第一篇链接文章,了解如何将其合并到解决方案和更大的项目中(通过 CMake 配置或项目属性调整)

原文由 Lorah Attkins 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题