I'm trying to profile a C++ application with gprof on a machine running OSX 10.5.7. I compile with g++ in the usual way, but using -pg flags, run the application and try to view the call graph with gprof.
Unfortunately my call graph contains all zeroes for all time columns. The values in the "called" columns have reasonable values so it looks like something was profiled but I'm mystified about the lack of other data.
All my source files are compiled in a similar way:
g++ -pg -O2 -DNDEBUG -I./ -ansi -c -o ScenarioLoader.o ScenarioLoader.cpp
I then run 'ar' to bundle all the object files into a library. Later, I link and run gprof as so:
g++ -pg -lm -o vrpalone vrpalone.o ../src/atomicprof.a lastbuild.o ./vrpalone gprof gmon.out | less
Any ideas?
If your program terminates in a non-clean manner then the profile data won't get written correctly - how is your program exiting?
Regardless, I'd strongly recommend using Shark instead of gprof - it's very easy to use and superior in pretty much every way to gprof - and doesn't require you to recompile your program.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With