При использовании perf report
я не вижу никаких символов для своей программы, вместо этого я получаю следующий вывод:
$ perf record /path/to/racket ints.rkt 10000
$ perf report --stdio
# Overhead Command Shared Object Symbol
# ........ ........ ................. ......
#
70.06% ints.rkt [unknown] [.] 0x5f99b8
26.28% ints.rkt [kernel.kallsyms] [k] 0xffffffff8103d0ca
3.66% ints.rkt perf-32046.map [.] 0x7f1d9be46650
Что такое довольно неинформативно.
Соответствующая программа построена с использованием отладочных символов, и инструмент sysprof
показывает соответствующие символы, как и Zoom, который, я думаю, использует perf
под капотом.
Обратите внимание, что это на x86-64, поэтому двоичный файл скомпилирован с -fomit-frame-pointer
, но это также относится и к другим инструментам.