Como posso obter perf para encontrar símbolos no meu programa
Ao usarperf report
, Não vejo nenhum símbolo para o meu programa, em vez disso, recebo uma saída assim:
$ 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
Qual é razoavelmente uninformative.
O programa relevante é construído com símbolos de depuração esysprof
ferramenta mostra os símbolos apropriados, assim como Zoom, que eu acho que está usandoperf
sob o capô.
Note que isto é no x86-64, então o binário é compilado com-fomit-frame-pointer
, mas esse é o caso quando se está executando sob as outras ferramentas também.