我通过Valgring发现一些GTK+程序泄漏了内存。修复这些漏洞有多重要?我的意思是,这些程序通常运行得很好,但另一方面,人们永远无法确定是否要将泄漏的部分代码复制到其他程序中。我不确定GTK+程序的想法是否能快速工作,因此会有漏洞。
因此,如果我有时在开源程序中发现内存泄漏,我应该修复它吗?或者是否存在效率问题,因此程序员最初的想法是编写一些小的泄漏代码?
发布于 2015-10-02 20:40:42
修复内存泄漏的重要性取决于问题的严重性,还需要做什么才是重要的。我的经验是,对于大多数应用程序来说,小内存泄漏往往是很好的。桌面应用程序会话的生存期通常不足以看到小内存泄漏造成的任何退化。
如果您正在编写一台运行24/7的服务器,那么小内存泄漏会随着时间的推移而增加,并成为一个主要问题。但这也是为什么许多公司安排服务器每天或每周重新启动的原因。查找内存泄漏的工作相对于可能获得的内容而言通常是过度的,因此更容易定期重新启动服务器,并继续进行更重要的工作。
发布于 2013-10-13 17:52:58
简而言之,运行程序内存泄漏并不重要;操作系统将在终止时收回所有内容,但它们可能会导致其他资源不被释放。
无论短时间的运行是相对的,泄漏可能会在几个小时内失控,或者在几个星期内不被注意到。
我的建议是在跟踪器中设置一个bug,如果主管关心的话,他会修复它。
泄漏的类型也很重要。泄漏的分配可能是一次性分配,开发人员故意依赖操作系统进行清理。这将给出一个假阳性的英勇。
发布于 2017-12-09 04:30:55
FWIW,如果用户报告了我工作的应用程序中的漏洞,我会非常倾向于修复它(特别是如果他们在bug报告中包含了修复代码!)也就是说,如果泄漏很小,而且其他问题更加紧迫(例如,频繁发生的崩溃bug ),这种情况可能不会立即发生。但我绝对会感激的,并努力最终修复它。你绝对应该让他们知道。他们要么会感激它并努力去修复它(很可能),要么他们不会在意它,而它只会花费你一些时间。
https://softwareengineering.stackexchange.com/questions/214319
复制相似问题