memory - 如何测试内存泄漏?

标签 memory memory-leaks

我们有一个包含数百个可能的用户操作的应用程序,并考虑如何增强内存泄漏测试。

目前,它是这样发生的:当手动测试软件时,如果我们的应用程序消耗太多内存,我们使用内存工具,找出原因并修复它。这是一个相当缓慢且效率不高的过程:问题发现较晚,并且依赖于开发人员的善意。

我们如何改进?

  • 在内部检查某些操作(如“关闭文件”)是否恢复了一些内存并记录它?
  • 在我们的单元测试中断言内存状态(但这似乎是一项乏味的任务)?
  • 手动定时定时检查一下?
  • 每次实现新的用户故事时都包括检查吗?
  • 最佳答案

    哪种语言?

    我会使用诸如 Valgrind 之类的工具,尝试充分执行该程序并查看它报告的内容。

    关于memory - 如何测试内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/420599/

    相关文章:

    memory-leaks - 为什么使用getImageData泄漏内存

    android - 为什么这些内存分配数字不相加?

    memory - Swift 中的这个 "Do.. While"循环有什么问题?

    objective-c - 自由函数在 c/objective-c 中不起作用

    java - 何时生成堆转储

    c++ - 仅检查共享库中的内存问题(例如 Apache 模块)

    c++ - 将 uint32_t 添加到不同命名空间中的队列时发生内存泄漏

    c++ - 在 Visual Studio 单元测试中检查内存泄漏

    c++ - 调用::memalign 的代码无法在 g++ 4.8 中编译

    apache - Tomcat6内存分配与Apache2