免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2253 | 回复: 0
打印 上一主题 下一主题

[服务应用] perf record无法找到symbol [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-08-29 17:09 |只看该作者 |倒序浏览
本帖最后由 huangyukun2012 于 2013-08-29 17:09 编辑

问题描述:
利用perf查找热点函数,有以下程序
  1. void longa()
  2.      {
  3.        int i,j;
  4.        for(i = 0; i < 1000000; i++)
  5.        j=i; //am I silly or crazy? I feel boring and desperate.
  6.      }

  7.      void foo2()
  8.      {
  9.        int i;
  10.        for(i=0 ; i < 10; i++)
  11.         longa();
  12.      }

  13.      void foo1()
  14.      {
  15.        int i;
  16.        for(i = 0; i< 100; i++)
  17.           longa();
  18.      }

  19.     int main(void)
  20.      {
  21.        foo1();
  22.        foo2();
  23.      }
复制代码
编译:
gcc -g test.c -o test

测试:
perf record -e cpu-clock ./test
perf report
输出结果如下:

从图中可以看出,perf解析了内核符号表,但是没有解析本地函。请问一下这是什么原因呢?

我的运行环境:
自己编译的3.10.9内核,源代码中make安装的perf
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP