massif没有显示库中函数的任何函数名,而这个库是由dlclose()关闭的。
如果我删除dlclose(),并运行重新编译和执行程序,我可以看到符号。有没有一种方法可以在不更改源代码的情况下知道函数名?
发布于 2018-10-16 03:31:06
新版本的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来可视化堆内存。
https://stackoverflow.com/questions/52814879
复制相似问题