Что означает смещение в BCC - PullRequest
1 голос
/ 27 мая 2020

Я использовал B CC для профилирования моего кода. В рамках этого я смотрю на смещение, которое мы получаем при использовании функции sym (), которая получает имя функции из адреса и pid и, при необходимости, отображает смещение.

Я получил следующие результаты при профилировании с помощью инструмента profile.py:

  count1e8  offset  54
     main  offset  100
     __libc_start_main  offset  231
[unknown]
    -                profile (7446)
        9

Я немного изменил вывод, чтобы прочитать смещение в базе 10 вместо 16.

Я не понимаю, что означает смещение в этом контексте do c читается как «смещение инструкции от начала символа», но я не могу сопоставить смещения вывода с какими-либо файлами (source, asm, elf). Как мне прочитать смещение 54 count1e8?

В конечном итоге цель будет заключаться в том, чтобы отследить это смещение либо до инструкции ASM, либо до строки исходного файла, из которой возникла эта инструкция.

...