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

Reply via email to