makemap.pl - Perl script to make a program map suitable
for profiling
SYNOPSIS
makemap.pl program
DESCRIPTION
makemap.pl is a Perl script that creates a map file suit
able for use with profile.pl and analyze.pl. makemap.pl
calls ldd to determine which dynamic libraries the program
uses and where they are loaded. makemap.pl then calls nm
to obtain the symbols for the individual object files that
make up the program. Hence, makemap.pl is unable to cre
ate a map file for programs or dynamic libraries that have
been stripped of symbol information by a program such as
strip.
makemap.pl also includes a "fake" symbol of
"LIBRARY:library_path" for each library used. If your
profile output includes entries for this fake symbol, it
means that profile ticks were found in that library but
there was no procedure name for the area of storage where
the ticks ocurred. The most common reason for this is
dynamic linkage code. You may also see ticks attributed
to the symbol "_end" and "_init". This is also due to
ticks that occurred in code that has no corresponding pro
cedure name. The most common case here, once again, is
dynamic linkage code.
makemap.pl is typically called as:
makemap.pl program
and it puts the resulting map in program.map in the cur
rent directory. If makemap is called with a full path
name, e. g.:
makemap.pl /usr/bin/blah/blah/blah/program
it still puts the map in the current directory, because
that is where analyze.pl normally looks for it.
makemap.pl is normally called by profile.pl; in certain
cases profile.pl can't determine where the binary of the
program is, or doesn't notice that the binary bas been
modified and that makemap.pl needs to be rerun. In those
cases, makemap.pl needs to be run manually.
FILES
/usr/local/bin/profile.pl
/usr/local/bin/analyze.pl
/usr/local/bin/makemap.pl
ldd, nm, profile.pl, analyze.pl.
Man(1) output converted with
man2html