2009-05-19 5 views
6

s'il vous plaît expliquer avec l'exemple?Comment utiliser sprof?

+0

voir http://stackoverflow.com/questions/1838989/gprof-how-to-generate-call-graph-for-functions-in-shared-library -that-est-lié/4959168 # 49591 68 – Dan

Répondre

6

Des e-mails trouvé here et here, j'ai extrait les notes suivantes:

Compte tenu de la demande my_app', which links against a shared object my_sobj », et a été compilé avec la -G compilation drapeau:

#set the environment variable LD_PROFILE to the name of the shared obj 
export LD_PROFILE=my_obj 
#run your application 
my_app 
#this should create a file /var/tmp/my_sobj.profile 
#now run sprof 
sprof my_sobj my_sobj.profile 

Cela donne des informations de profil pour la bibliothèque partagée, pas pour my_app

+0

cela fonctionne-t-il seulement pour les trucs de libc? Ou puis-je l'utiliser sur mes propres bibliothèques partagées compilées? – jdizzle

+1

"aucun PLTREL trouvé dans l'objet" est l'erreur que j'obtiens en essayant de profiler ma propre bibliothèque. Que dois-je faire au moment de la compilation/liaison pour inclure les informations requises? – jdizzle