简体   繁体   English

Linux perf 无法解析符号

[英]Linux perf not resolving symbols

I am using Openwrt having linux Kernel version 4.14.我正在使用具有 linux Kernel 版本 4.14 的 Openwrt。

I have compiled my C++ code with -fno-omit-frame-pointer and with debug -g3 .我已经用-fno-omit-frame-pointer和 debug -g3编译了我的 C++ 代码。 For the compiled binary and all dependent libraries, objdump -t list the symbols.对于已编译的二进制文件和所有依赖库, objdump -t列出符号。 ulimit-a output is also good, have set most of component to unlimited or a to higher value. ulimit-a output 也不错,将大部分组件设置为无限制或更高的值。

Executing perf with command perf record -F 99 -p pid --call-graph dwarf -g and perf record -F 99 -p <pid> -g使用命令perf record -F 99 -p pid --call-graph dwarf -gperf record -F 99 -p <pid> -g执行 perf

perf report resolves all the kernel symbols,but NOT getting resolve the user space symbols. perf 报告解析了所有 kernel 符号,但没有解析用户空间符号。

Am I missing something?我错过了什么吗? How to get the user space symbols resolved?如何解决用户空间符号?

compiling perf tool with libelf and libdw support resolved the issue.使用 libelf 和 libdw 支持编译 perf 工具解决了这个问题。 Able to get userspace symbols also resolved along with Kernel.能够获得用户空间符号也与 Kernel 一起解决。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM