massif对库中的函数不显示任何函数名,该库由dlclose()关闭。
如果删除dlclose(),然后运行重新编译并执行程序,我会看到这些符号。是否可以在不更改源代码的情况下了解函数名称?
答案 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。