valgrind massif dlclose()没有符号

时间:2018-10-15 10:40:58

标签: memory valgrind memory-profiling massif

massif对库中的函数不显示任何函数名,该库由dlclose()关闭。

如果删除dlclose(),然后运行重新编译并执行程序,我会看到这些符号。是否可以在不更改源代码的情况下了解函数名称?

1 个答案:

答案 0 :(得分:0)

新版本的valgrind(3.14)具有一个选项,指示valgrind保留dlclose'd库的符号:

--keep-debuginfo=no|yes   Keep symbols etc for unloaded code [no]
                          This allows saved stack traces (e.g. memory leaks)
                          to include file/line info for code that has been
                          dlclose'd (or similar)

但是,massif不会使用此信息。

您可以通过以下操作获得可用的堆报告配置文件:

  

valgrind --keep-debuginfo = yes-:xtree-leak = yes

,然后使用例如可视化堆内存kcachegrind。