ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

This manual page is associated with the Mac OS X developer tools. The software or headers described may not be present on your Mac OS X installation until you install the developer tools package. This package is available on your Mac OS X installation DVD, and the latest versions can be downloaded from developer.apple.com.

For more information about the manual page format, see the manual page for manpages(5).



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/pro-fileServer /usr/libexec/profileServer
       fileServer 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 sam-pled. sampled.
       pled.

       If you need to profile from boot up for all processes  then  the  following  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/System.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 profiling 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)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.