Node:No profile,
Previous:IO bound programs,
Up:Profiling
gprof doesn't produce outputQ: Every time I run the profiler it says "gmon.out: no such file or
directory" and no profile is produced. What is this gmon.out
file, and why won't gprof compute the profile?
A: gmon.out is the file with raw execution counts and timing
info that gprof needs to produce the profile. The file is
written by the profiled program when it exits. If the file isn't
created, it might be because of one of the following reasons:
-pg switch.
Note that both compilation and link need to be done with
-pg, because the functions that actually write the results to
gmon.out are only linked in when GCC sees -pg on the link
command line.
ld.exe directly to link your program and forgot
to mention the files and switches necessary for the profiled program
operation. You should use gcc to link your program instead of
calling the linker directly; a -pg switch to gcc is all
that it takes to make sure that the linker will get all the necessary
arguments22.
gmon.out is registered with the atexit library function,
and won't be called if the program was terminated in an abnormal way.
Make sure that your program exits with a call to exit library
function or with a return statement in your main function.
For example, if your program dies with an exception or a signal, you
need to install a handler for that signal and make it call exit.