Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
PMCANNOTATE(8)		FreeBSD	System Manager's Manual		PMCANNOTATE(8)

     pmcannotate -- sources printout with inlined profiling

     pmcannotate [-a] [-h] [-k pathname] [-l level] pmcout.out binaryobj

     The pmcannotate utility can produce both C	sources	or assembly sources of
     a program with a line-by-line based profiling.  The profiling information
     is	retrieved through a pmcstat(8) raw output while	the program operations
     are retrieved through the objdump(1) tool.

     When calling pmcannotate the raw output is	passed through the pmcout.out
     argument, while the program is passed through the binaryobj argument.

     As	long as	pmcannotate relies on objdump(1) and pmcstat(8)	to work, it
     will fail if one of them is not available.

     The following options are available:

     -a	     Shows the program profiling inlined in the	assembly code only.
	     No	C information involving	C sources is provided.

     -h	     Prints out	information about the usage of the tool.

     -l	level
	     Changes the lower bound (expressed	in percentage) for traced
	     functions that will be printed out	in the report.	The default
	     value is 0.5%.

     -k	kerneldir
	     Set the pathname of the kernel directory to argument kerneldir.
	     This directory specifies where pmcannotate	should look for	the
	     kernel and	its modules.  The default is /boot/kernel.

     As	long as	pmcannotate relies on the objdump(1) utility to	retrieve the C
     code, the program needs to	be compiled with debugging options.  Some-
     times, in particular with heavy optimization levels, the objdump(1) util-
     ity embeds	the code of inlining functions directly	in the callers,	making
     an	output difficult to read.  The x86 version reports the sampling	from
     pmcstat collecting	the following instruction in regard of the interrupted
     one.  This	means that the samples may be attributed to the	line below the
     one of interest.

     objdump(1), pmcstat(8)

     Attilio Rao <>

FreeBSD	11.1		       November	20, 2008		  FreeBSD 11.1


Want to link to this manual page? Use this URL:

home | help