¿Cómo puedo obtener perf para encontrar símbolos en mi programa?
Cuando usasperf report
, No veo ningún símbolo para mi programa, en cambio obtengo una salida como esta:
$ 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
Que es bastante poco informativo.
El programa relevante está construido con símbolos de depuración, y elsysprof
La herramienta muestra los símbolos apropiados, al igual que Zoom, que creo que está usandoperf
bajo el capó.
Tenga en cuenta que esto está en x86-64, por lo que el binario se compila con-fomit-frame-pointer
, pero ese es el caso cuando se ejecuta bajo otras herramientas también.