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

FreeBSD Man 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 informa-
     tions are 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 informations involving C sources are provided.

     -h	     Prints out	informations 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.0		       November	20, 2008		  FreeBSD 11.0


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

home | help