manpagez: man pages & more
man dylibprof(1)
Home | html | info | man
dylibprof(1)                                                      dylibprof(1)




NAME

       dylibprof - control the shared pc sampling of a dynamic shared library


SYNOPSIS

       dylibprof [-e | -d] | [-c | -r | -b | -h | -p [-o <file>] <dylib>]


DESCRIPTION

       Dylibprof  along  with  the  server  /usr/libexec/profileServer  allows
       shared program counter sampling of a dynamic shared library across  all
       the programs that use the library.

       To  use  dylibprof(1),  /usr/libexec/profileServer must be running.  So
       first start /usr/libexec/profileServer and leave it running in the back
       ground:
            % /usr/libexec/profileServer >& /dev/console &

       /usr/libexec/profileServer  starts up with shared pc sampling disabled.
       It should not be left running with shared pc  sampling  enabled  if  no
       sampling  is  being  done  as  every  launch of a program that uses the
       dynamic linker is effected.  This is true even to  a  small  extent  if
       there no libraries being sampled.

       If  you need to profile from boot up for all processes then the follow-
       ing line can be added to /etc/bootstrap.conf:
            server "/usr/libexec/profileServer" services NSProfileServer NSProfileControl;

       Before any dynamic shared library can be sampled sampling must be enabled as
       follows:
            % dylibprof -e

       It can then later be disabled when no more sampling is to be done with:
            % dylibprof -d


EXAMPLE

       To  sample  the  dynamic shared library /System/Library/Frameworks/Sys-
       tem.framework/Versions/B/System  for  example  requires  the  following
       steps.  First create a sample buffer for the library:
            % dylibprof -c /System/Library/Frameworks/System.framework/Versions/B/System

       Then begin the sampling:
            % dylibprof -b /System/Library/Frameworks/System.framework/Versions/B/System
       After  this  programs  launched  using this library will be part of the
       shared pc sampling.  Typically what would be done is to  then  use  the
       system normally for a number of hours.

       Then to halt the sampling:
            % dylibprof -h /System/Library/Frameworks/System.framework/Versions/B/System

       The profiling output file (a gmon.out file) can be created with:
            % dylibprof -p -o /tmp/gmon.out /System/Library/Frameworks/System.framework/Versions/B/System

       Using the profiling output file and the library a profile listing and a
       time based order file (time.order) can be created with: gprof(1):
            % gprof -S /System/Library/Frameworks/System.framework/Versions/B/System /tmp/gmon.out

       When no more sampling for this library is to be done the sample buffer can be
       removed with:
            % dylibprof -r /System/Library/Frameworks/System.framework/Versions/B/System

       The options are:

       -e     Enable shared program counter sampling for dynamic libraries.

       -d     Disable shared program counter sampling for dynamic libraries.

       -c     Create a pc sample buffer for the library.

       -b     Begin sampling for  programs  subsequently  launched  using  the
              library.

       -h     Halt  sampling  for  programs  subsequently  launched  using the
              library.

       -p     Produce a profiling  output  file  (a  gmon.out  file)  for  the
              library.

       -r     Remove the pc sample buffer for the library.

       -o name
              Use the file name instead of gmon.out when producing the profil-
              ing output file with the -p above.


FILES

       gmon.out                  profile output file
       /var/tmp/profile/profile.XXXXXX the sample buffer file


SEE ALSO

       gprof(1)



Apple Computer, Inc.            March 19, 2002                    dylibprof(1)

Mac OS X 10.7 - Generated Sun Nov 6 05:32:18 CST 2011
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.