Valgrind在日志文件中多次显示相同的内存泄漏



我在跨国公司软件公司工作。我的任务是修复软件中的内存泄漏。我正在使用Valgrind Memcheck工具。我使用了'valgrind -leak-check = yes -log-file = vg.log'。我发现Valgrind在VG.LOG中显示出相同的内存泄漏倍数时间,而VG.LOG文件具有200万行。结果,我无法确定哪个泄漏尺寸最高。我的意思是哪一个是最大的泄漏。您有任何解决这个问题的想法吗?我希望相同的内存泄漏应该在带有聚合大小的VG.LOG中出现。我正在使用Red Hat Enterprise Linux Workstation版本6.5。

泄漏按大小增加顺序倾倒。因此,最后一个泄漏是最大的泄漏。每个泄漏描述看起来像

XX bytes in B blocks are definitely lost in loss record R of N

其中

  • xx是该Callstack泄漏的总大小
  • b是该呼叫列表泄漏的次数。例如,如果总数为4096个字节,则在4个块中,这意味着调用发生4次,每个泄漏为1024个字节
  • r是泄漏的运行计数
  • n是不同泄漏呼叫站的总数

实际上有一个-num-callers选项,该选项可以用来构成不同的相似内存泄漏。

最新更新