Estoy tratando de perfilar una aplicación C++ con gprof en una máquina con OSX 10.5.7. Compilo con g ++ de la forma habitual, pero usando -pg flags, ejecuto la aplicación y trato de ver el gráfico de llamadas con gprof.gprof informa que no hay tiempo acumulado
Desafortunadamente, mi gráfico de llamadas contiene todos los ceros para todas las columnas de tiempo. Los valores en las columnas "llamadas" tienen valores razonables por lo que parece que se ha perfilado algo, pero estoy desconcertado por la falta de otros datos.
Todos mis archivos de código fuente se compilan de manera similar:
g++ -pg -O2 -DNDEBUG -I./ -ansi -c -o ScenarioLoader.o ScenarioLoader.cpp
que ejecute 'AR' para agrupar todos los archivos de objetos en una biblioteca. Más tarde, me enlace y corro gprof como tan:
g++ -pg -lm -o vrpalone vrpalone.o ../src/atomicprof.a lastbuild.o
./vrpalone
gprof gmon.out | less
¿Alguna idea?
** gprof ** existe desde 1982. Desde entonces, el diseño de computadoras y lenguajes ha avanzado enormemente, pero nuestra comprensión colectiva de los problemas de rendimiento ha progresado muy poco.Todavía hablamos de manera flexible sobre los mismos conceptos que ** gprof ** introdujo, y no hemos intentado realmente entenderlos. [Aquí hay una discusión y presentación de algunas ideas más recientes.] (Https://stackoverflow.com/questions/1777556/alternatives-to-gprof/1779343#1779343) –