【问题标题】:Leak Summary is missing from valgrind log filevalgrind 日志文件中缺少泄漏摘要
【发布时间】:2016-12-01 04:44:48
【问题描述】:

我正在对我的软件进行一些内存分析,并在使用 valgrind 的以下命令运行标准内存泄漏检查后

valgrind --tool=memcheck --leak-check=full

我得到以下摘要:

==12550== 泄漏摘要:

==12550== 肯定丢失了:7 个块中的 597,170 个字节

==12550== 间接丢失:10 个块中的 120 个字节

==12550== 可能丢失:1,455 个块中的 770,281 个字节

==12550== 仍可访问:2,319 个块中的 181,189 个字节

==12550== 抑制:0 个块中的 0 个字节

==12550== 可到达块(找到指针的块)未显示。

==12550== 要查看它们,请重新运行:--leak-check=full --show-reachable=yes

==12550==

==12550== 对于检测到和抑制的错误计数,重新运行:-v

==12550== 错误摘要:325 个上下文中的 325 个错误(已抑制:11 个中的 176 个)

但我想得到 xml 格式的结果。所以我用valgrind的以下命令执行了内存泄漏检查,

valgrind --tool=memcheck --leak-check=full --xml=yes --xml-file=path_to_output

这里命令执行成功。但我注意到的是,xml 输出不像以前那样包含 LEAK SUMMARY

所以我想知道有什么办法可以生成 xml 格式的泄漏摘要。

谢谢

【问题讨论】:

  • 您使用的是什么操作系统/版本的 valgrind?

标签: xml memory memory-leaks valgrind memcheck


【解决方案1】:

目前您无法说服 Valgrind 以 XML 格式输出泄漏摘要。仅当不输出到 XML 文件时才打印摘要。

更多详情请看Valgrind的源码,函数print_results():

if (VG_(clo_verbosity) > 0 && !VG_(clo_xml)) {
    ...
    VG_(umsg)("LEAK SUMMARY:\n");
    ...
}

【讨论】:

    猜你喜欢
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多