我perf record -g在 x86-64 Linux 上使用来分析程序。libc 或 libstdc++ 中的几个符号0作为父符号:例如__GI___strcmp_ssse3(libc) 和strcmp@plt(libstdc++)。(我实际上可以在调试器中打破这些符号并获得回溯。)
perf record -g
0
__GI___strcmp_ssse3
strcmp@plt
我很想知道这些函数的主要调用者是什么,以及为什么没有记录它们。这是因为 libc 和 libstdc++ 在 x86_64 上没有帧指针吗?而且,更实际的是,有没有办法解决这个问题?
glibc profiling perf
glibc ×1
perf ×1
profiling ×1