我正在对我的软件进行一些内存分析,并在使用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个错误(被抑制:176个来自11个)
但我希望以xml格式获得结果。所以我用valgrind的以下命令
执行了内存泄漏检查valgrind --tool=memcheck --leak-check=full --xml=yes --xml-file=path_to_output
此命令成功执行。但我注意到的是,xml out put不像之前那样包含 LEAK SUMMARY
。
所以我想知道有什么办法可以用xml格式生成LEAK SUMMARY。
由于
答案 0 :(得分:1)
目前没有任何措施可以说服Valgrind以XML格式输出LEAK SUMMARY。仅在未输出到XML文件时才打印摘要。
有关详细信息,请参阅Valgrind的源代码,函数print_results():
if (VG_(clo_verbosity) > 0 && !VG_(clo_xml)) {
...
VG_(umsg)("LEAK SUMMARY:\n");
...
}