我一直在使用 BCC 来分析我的代码。作为其中的一部分,我正在查看使用 sym() 函数时获得的偏移量,该函数从地址和 pid 获取函数名称,并可选择显示偏移量。
使用 profile.py 工具进行分析时,我得到了以下结果:
count1e8 offset 54
main offset 100
__libc_start_main offset 231
[unknown]
- profile (7446)
9
我稍微调整了输出以读取以 10 为基数而不是 16 的偏移量。
我不明白在这种情况下偏移量是什么意思,文档读作“从符号开头的指令偏移量”,但我无法将输出中的偏移量与任何文件(源、asm、elf)匹配。如何读取 count1e8 偏移量 54?
最终目标是将此偏移量追溯到 ASM 指令或产生该指令的源文件行。