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>