Skip site navigation (1)Skip section navigation (2)
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>