Я пытаюсь увидеть, какой код ядра вызывает специфическую c функцию в CentOS 7.7 (x86-64). Я пробовал это:
perf probe -a vsnprintf
perf record -e probe:vsnprintf -aR sleep 10
Затем, когда я пытаюсь:
perf report --stdio
Я вижу только несколько шестнадцатеричных чисел в выводе вместо имен функций:
# Total Lost Samples: 0
#
# Samples: 331 of event 'probe:vsnprintf'
# Event count (approx.): 331
#
# Children Self Trace output
# ........ ........ ..................
#
100.00% 100.00% (ffffffffaf58c750)
|
|--56.19%--0
| __GI___libc_read
| 0xffffffffaf98bede
| 0xffffffffaf4493bf
| 0xffffffffaf4484ff
| 0xffffffffaf4c09b0
Версия ядра (я работаю внутри виртуальной машины на KVM):
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Я выбрал vsnprintf, потому что он часто отображается в «perf top» (символ ядра - там я правильно вижу символы).
Есть ли способ увидеть реальные имена функций?