Как мне получить perf для поиска символов в моей программе

При использовании 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, но это также относится и к другим инструментам.

25
задан Sam Tobin-Hochstadt 7 June 2012 в 14:02
поделиться