首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >perf报告函数名和额外字符

perf报告函数名和额外字符
EN

Stack Overflow用户
提问于 2015-09-09 00:03:17
回答 2查看 1.5K关注 0票数 0

我已经使用perf对一个应用程序进行了描述,我很困惑为什么在报告中函数的名称会如此混乱。例如,下面是perf report的输出

代码语言:javascript
复制
# Overhead      Command      Shared Object                                                                                                 
# ........  ...........  .................  .................................................................................................................................................................................................
#
    38.98%  hello_sp_tp  libc-2.19.so       [.] __memcpy_sse2_unaligned                                                                                                                                                                      
            |
            --- __memcpy_sse2_unaligned
               |          
               |--21.70%-- _ZN5nupic10algorithms6Cells46CStateaSERKS2_.local.1629
               |          
                --17.28%-- _ZN5nupic10algorithms6Cells46Cells420updateInferenceStateERKSt6vectorIjSaIjEE
                          _ZN5nupic10algorithms6Cells46Cells47computeEPfS3_bb

例如,我认得nupic.algorithms.Cells4.updateInferenceState()这个名字,但我不知道其他所有的字符都是什么意思。

_ZN5是什么?函数名末尾的IjSaIjEE是什么?这些是什么意思?它们是从哪里来的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-09 08:24:22

这些(C++函数)名称被损坏了。有关语法细节,请查看名称残缺。它允许对复杂的C++名称进行编码。

关于您的perf报告,有一些选项可以要求需求:理论上默认设置的--demangle,但是真正的实现可能取决于perf版本或您的CPU体系结构。

票数 1
EN

Stack Overflow用户

发布于 2017-05-10 14:24:12

perf可能是在不支持系统需求的情况下构建的。

如果您的系统是Ubuntu,请在这里查看:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1396654和这里提供的解决方案:perf支持呼叫图的去噪

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

https://stackoverflow.com/questions/32468991

复制
相关文章

相似问题

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