Què significa monticle?

Què significa «Al fitxer [monticle]»?

Això indica que el sysprof creu que es va cridar una funció des d'algun lloc del monticle del programa (on malloc assigna memòria) en comptes de la secció de codi (on hi és normalment el codi executable). Diverses causes són possibles.

Compiladors de JIT (Just a temps)

Llenguatges com el Java poden generar codi executable mentre s'executa un programa i emmagatzemar-lo al monticle. El Sysprof informa amb exactitud de la situació en aquest cas.

Optimització de compiladors

Els compiladors C i C++ poden optimitzar la informació necessària per a determinar la persona que crida una funció, de manera que es confon amb [monticle]. Encara podeu saber amb quina freqüència el programa crida cada funció, però no sempre des d'on.

Per a gcc, la marca -fno-omit-frame-pointer impedirà aquesta optimització. El senyalador no sempre és necessari, per exemple a les màquines x86_64 només es necessita amb l'optimització -O3.

Per a obtenir l'arbre de crides més detallat i precís a partir d'un codi no optimitzat, utilitzeu aquests indicadors: 1-ggdb -fno-omit-frame-pointer -O0