Unix/Linux Go Back    


OpenDarwin 7.2.1 - man page for dylibprof (opendarwin section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


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 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/Ver-
       sions/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)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 01:46 PM.