2009-05-19 7 views
6

por favor explique con el ejemplo?Cómo usar sprof?

+0

ver http://stackoverflow.com/questions/1838989/gprof-how-to-generate-call-graph-for-functions-in-shared-library -que está vinculado/4959168 # 49591 68 – Dan

Respuesta

6

De los correos electrónicos encontrados here y here, he extraído las siguientes notas:

Dada una aplicación my_sobj my_app', which links against a shared object', y que ha sido elaborado con la '-g' compilar bandera:

#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 

Esto proporciona información de perfil para la biblioteca compartida, no para my_app

+0

¿Esto solo funciona para cosas de libc? ¿O puedo usarlo en mis propias bibliotecas compiladas? – jdizzle

+1

"no se encontró PLTREL en el objeto" es el error que recibo al intentar crear un perfil de mi propia biblioteca. ¿Qué debo hacer en tiempo de compilación/enlace para incluir la información requerida? – jdizzle