首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法分解库中的符号名称(nm、objdump、c++filt)

无法分解库中的符号名称(nm、objdump、c++filt)
EN

Stack Overflow用户
提问于 2021-10-16 18:31:51
回答 1查看 93关注 0票数 0

我在perf script的输出中注意到了未分离的函数,最初我认为perf可能做错了什么。

但是,通过更深入地研究一些*.so文件,我已经能够用c++filt -tnm -Cobjdump -D -C重现这个问题。

我有点迷茫,不知道在设计过程中可能出了什么问题。

其中一个没有去角度的符号是:

代码语言:javascript
复制
_ZZNK5Gaudi10Functional7details16MultiTransformerIFSt5tupleIJSt6vectorIN4LHCb14VPLightClusterESaIS6_EESt5arrayIjLm53EEEERK12EventContextRKNS5_8RawEventERK4DeVPENS0_6Traits4use_IJNS5_7DetDesc21useConditionHandleForIJSI_EEENSM_11BaseClass_tINSO_23ConditionAccessorHolderI10FixTESPathINS_9AlgorithmEEEEEEEEELb0EE7executeESE_ENKUlDpRT_E_clIJK21DataObjectWriteHandleIS8_S8_EKS15_ISA_SA_EEEEDaS12_

该库是用GCC 10.1编译的。但是如果我用clang 11编译,我可以在objdump -D -C中找到相同的符号。

我现在有点走进了死胡同,所以任何关于我可以检查的建议都会非常感谢。:)

EN

回答 1

Stack Overflow用户

发布于 2021-10-20 06:29:36

通过使用评论中建议的工具解决。

llvm-cxxfilt也可以工作,并且可能已经在某些计算机上可用。

c++filtnmperfobjdump使用的功能是在libiberty中实现的,而libiberty是GCC的一部分。因此,我在这里提交了一个错误报告:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102851

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69598507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档