Date: Fri, 13 Oct 2000 14:10:36 -0700 (PDT) From: Mikko Tyolajarvi <mikko@dynas.se> To: intmktg@CAM.ORG Cc: freebsd-hackers@freebsd.org Subject: Re: profiling a daemon process Message-ID: <200010132110.e9DLAaE94356@explorer.rsa.com> References: <Pine.LNX.4.10.10010131320030.2025-100000@Gloria.CAM.ORG>
next in thread | previous in thread | raw e-mail | index | archive | help
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ärvi_______________________________________mikko@rsasecurity.com
RSA Security
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010132110.e9DLAaE94356>
