1

我一直在使用 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 指令或产生该指令的源文件行。

4

0 回答 0