Manual Pages for UNIX Darwin command on man dylibprof
MyWebUniversity

Manual Pages for UNIX Darwin command on man dylibprof

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 ] ]

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

EEXXAAMMPPLLEE

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:

-ee Enable shared program counter sampling for dynamic libraries.

-dd Disable shared program counter sampling for dynamic libraries.

-cc Create a pc sample buffer for the library.

-bb Begin sampling for programs subsequently launched using the

library.

-hh Halt sampling for programs subsequently launched using the

library.

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

library.

-rr Remove the pc sample buffer for the library.

-oo name

Use the file name instead of gmon.out when producing the profil-

ing output file with the -pp 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)




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™