我们有一个非常大的项目,这基本上是一个应用程序,使用Linux应用程序编程,并在PowerPC处理器上运行。这个项目最初是由另一个公司开发的。我们从公司获得了这个项目,现在我们正在维护这个项目。
据报道,该应用程序存在很多memory leak问题。由于这是一个大型项目,因此不可能找到每个源代码文件并找出内存泄漏。我们已经使用了Valgrid,mpatrol和其他内存泄漏检测工具。这些工具没有多大帮助,内存泄漏也没有明显减少。
在这种情况下,除了上面提到的内存泄漏检测工具之外,如何着手减少内存泄漏有一个重要的amount.Is在这些情况下人们使用general method来减少内存泄漏。
发布于 2011-11-07 19:35:54
通常,Valgrind属于完成此任务的最佳工具。如果它不能正常工作,可能只有几件事你仍然可以做。
--leak-check=full或类似的选项。还有valgrind的插件,可以增强它的检测capabilities.发布于 2011-11-07 18:50:22
您可以将所有内存分配调用替换为对您自己的分配方法的调用,这些方法应该调用原始方法,同时计算内存使用量及其分配的位置。这将允许您找到泄漏并手动消除它们。
也可能有自动化的工具可以让你做到这一点--不确定,没有使用过。但是这个方法是有效的。
发布于 2011-11-10 03:12:35
也许你也可以考虑使用Boehm's garbage collector (也就是使用GC_malloc而不是malloc等等……而不用担心free-ing数据)。
https://stackoverflow.com/questions/8035319
复制相似问题