In local.freebsd-hackers you write:
>I am trying to profile a daemon process, but no gmon.out
>file is ever created on FreeBSD. When I brought my code
>to Linux, I managed to get the graph profile file.
>First, I compiled everything with the -pg flag, as I would
>any other program. Then, I run the program which is forked
>to background and send a few queries to the daemon. Finally,
>I kill the process using the TERM signal, which is caught
>and closes everything nicely before exiting (main returns
>0). Yet, no profile seems to be created.
>I then proceeded to make a few changes to help the profiler.
>First, I commented out the forking of the server process so
>that the process could be kept in the foreground. Still no
>profile. I then changed my program so that it doesn't exit
>on a signal. Still no profile.
>So what could be the potential reasons for this problem
>knowing the program doesn't fork and exits on '0'?
1. Unable to create a file in the current directory.
Try chdir("/tmp") before exiting.
2. Profiling data is written in an atexit() handler,
so had you been using _exit(), there would be no output.
Try truss or ktrace on the program, and see if that gives any hints.
Try profiling a simpler program (hello.c ...), to make sure
that works (it should).
$.02,
/Mikko
--
Mikko Ty�l�j�[EMAIL PROTECTED]
RSA Security
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message