|
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <!-- This file documents the gprof profiler of the GNU system.
-
- Copyright (C) 1988-2020 Free Software Foundation, Inc.
-
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, with no Front-Cover Texts, and with no
- Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
- <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Output Options (GNU gprof)</title>
-
- <meta name="description" content="Output Options (GNU gprof)">
- <meta name="keywords" content="Output Options (GNU gprof)">
- <meta name="resource-type" content="document">
- <meta name="distribution" content="global">
- <meta name="Generator" content="makeinfo">
- <link href="index.html#Top" rel="start" title="Top">
- <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
- <link href="Invoking.html#Invoking" rel="up" title="Invoking">
- <link href="Analysis-Options.html#Analysis-Options" rel="next" title="Analysis Options">
- <link href="Invoking.html#Invoking" rel="prev" title="Invoking">
- <style type="text/css">
- <!--
- a.summary-letter {text-decoration: none}
- blockquote.indentedblock {margin-right: 0em}
- blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
- blockquote.smallquotation {font-size: smaller}
- div.display {margin-left: 3.2em}
- div.example {margin-left: 3.2em}
- div.lisp {margin-left: 3.2em}
- div.smalldisplay {margin-left: 3.2em}
- div.smallexample {margin-left: 3.2em}
- div.smalllisp {margin-left: 3.2em}
- kbd {font-style: oblique}
- pre.display {font-family: inherit}
- pre.format {font-family: inherit}
- pre.menu-comment {font-family: serif}
- pre.menu-preformatted {font-family: serif}
- pre.smalldisplay {font-family: inherit; font-size: smaller}
- pre.smallexample {font-size: smaller}
- pre.smallformat {font-family: inherit; font-size: smaller}
- pre.smalllisp {font-size: smaller}
- span.nolinebreak {white-space: nowrap}
- span.roman {font-family: initial; font-weight: normal}
- span.sansserif {font-family: sans-serif; font-weight: normal}
- ul.no-bullet {list-style: none}
- -->
- </style>
-
-
- </head>
-
- <body lang="en">
- <a name="Output-Options"></a>
- <div class="header">
- <p>
- Next: <a href="Analysis-Options.html#Analysis-Options" accesskey="n" rel="next">Analysis Options</a>, Up: <a href="Invoking.html#Invoking" accesskey="u" rel="up">Invoking</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
- </div>
- <hr>
- <a name="Output-Options-1"></a>
- <h3 class="section">4.1 Output Options</h3>
-
- <p>These options specify which of several output formats
- <code>gprof</code> should produce.
- </p>
- <p>Many of these options take an optional <em>symspec</em> to specify
- functions to be included or excluded. These options can be
- specified multiple times, with different symspecs, to include
- or exclude sets of symbols. See <a href="Symspecs.html#Symspecs">Symspecs</a>.
- </p>
- <p>Specifying any of these options overrides the default (‘<samp>-p -q</samp>’),
- which prints a flat profile and call graph analysis
- for all functions.
- </p>
- <dl compact="compact">
- <dt><code>-A[<var>symspec</var>]</code></dt>
- <dt><code>--annotated-source[=<var>symspec</var>]</code></dt>
- <dd><p>The ‘<samp>-A</samp>’ option causes <code>gprof</code> to print annotated source code.
- If <var>symspec</var> is specified, print output only for matching symbols.
- See <a href="Annotated-Source.html#Annotated-Source">The Annotated Source Listing</a>.
- </p>
- </dd>
- <dt><code>-b</code></dt>
- <dt><code>--brief</code></dt>
- <dd><p>If the ‘<samp>-b</samp>’ option is given, <code>gprof</code> doesn’t print the
- verbose blurbs that try to explain the meaning of all of the fields in
- the tables. This is useful if you intend to print out the output, or
- are tired of seeing the blurbs.
- </p>
- </dd>
- <dt><code>-C[<var>symspec</var>]</code></dt>
- <dt><code>--exec-counts[=<var>symspec</var>]</code></dt>
- <dd><p>The ‘<samp>-C</samp>’ option causes <code>gprof</code> to
- print a tally of functions and the number of times each was called.
- If <var>symspec</var> is specified, print tally only for matching symbols.
- </p>
- <p>If the profile data file contains basic-block count records, specifying
- the ‘<samp>-l</samp>’ option, along with ‘<samp>-C</samp>’, will cause basic-block
- execution counts to be tallied and displayed.
- </p>
- </dd>
- <dt><code>-i</code></dt>
- <dt><code>--file-info</code></dt>
- <dd><p>The ‘<samp>-i</samp>’ option causes <code>gprof</code> to display summary information
- about the profile data file(s) and then exit. The number of histogram,
- call graph, and basic-block count records is displayed.
- </p>
- </dd>
- <dt><code>-I <var>dirs</var></code></dt>
- <dt><code>--directory-path=<var>dirs</var></code></dt>
- <dd><p>The ‘<samp>-I</samp>’ option specifies a list of search directories in
- which to find source files. Environment variable <var>GPROF_PATH</var>
- can also be used to convey this information.
- Used mostly for annotated source output.
- </p>
- </dd>
- <dt><code>-J[<var>symspec</var>]</code></dt>
- <dt><code>--no-annotated-source[=<var>symspec</var>]</code></dt>
- <dd><p>The ‘<samp>-J</samp>’ option causes <code>gprof</code> not to
- print annotated source code.
- If <var>symspec</var> is specified, <code>gprof</code> prints annotated source,
- but excludes matching symbols.
- </p>
- </dd>
- <dt><code>-L</code></dt>
- <dt><code>--print-path</code></dt>
- <dd><p>Normally, source filenames are printed with the path
- component suppressed. The ‘<samp>-L</samp>’ option causes <code>gprof</code>
- to print the full pathname of
- source filenames, which is determined
- from symbolic debugging information in the image file
- and is relative to the directory in which the compiler
- was invoked.
- </p>
- </dd>
- <dt><code>-p[<var>symspec</var>]</code></dt>
- <dt><code>--flat-profile[=<var>symspec</var>]</code></dt>
- <dd><p>The ‘<samp>-p</samp>’ option causes <code>gprof</code> to print a flat profile.
- If <var>symspec</var> is specified, print flat profile only for matching symbols.
- See <a href="Flat-Profile.html#Flat-Profile">The Flat Profile</a>.
- </p>
- </dd>
- <dt><code>-P[<var>symspec</var>]</code></dt>
- <dt><code>--no-flat-profile[=<var>symspec</var>]</code></dt>
- <dd><p>The ‘<samp>-P</samp>’ option causes <code>gprof</code> to suppress printing a flat profile.
- If <var>symspec</var> is specified, <code>gprof</code> prints a flat profile,
- but excludes matching symbols.
- </p>
- </dd>
- <dt><code>-q[<var>symspec</var>]</code></dt>
- <dt><code>--graph[=<var>symspec</var>]</code></dt>
- <dd><p>The ‘<samp>-q</samp>’ option causes <code>gprof</code> to print the call graph analysis.
- If <var>symspec</var> is specified, print call graph only for matching symbols
- and their children.
- See <a href="Call-Graph.html#Call-Graph">The Call Graph</a>.
- </p>
- </dd>
- <dt><code>-Q[<var>symspec</var>]</code></dt>
- <dt><code>--no-graph[=<var>symspec</var>]</code></dt>
- <dd><p>The ‘<samp>-Q</samp>’ option causes <code>gprof</code> to suppress printing the
- call graph.
- If <var>symspec</var> is specified, <code>gprof</code> prints a call graph,
- but excludes matching symbols.
- </p>
- </dd>
- <dt><code>-t</code></dt>
- <dt><code>--table-length=<var>num</var></code></dt>
- <dd><p>The ‘<samp>-t</samp>’ option causes the <var>num</var> most active source lines in
- each source file to be listed when source annotation is enabled. The
- default is 10.
- </p>
- </dd>
- <dt><code>-y</code></dt>
- <dt><code>--separate-files</code></dt>
- <dd><p>This option affects annotated source output only.
- Normally, <code>gprof</code> prints annotated source files
- to standard-output. If this option is specified,
- annotated source for a file named <samp>path/<var>filename</var></samp>
- is generated in the file <samp><var>filename</var>-ann</samp>. If the underlying
- file system would truncate <samp><var>filename</var>-ann</samp> so that it
- overwrites the original <samp><var>filename</var></samp>, <code>gprof</code> generates
- annotated source in the file <samp><var>filename</var>.ann</samp> instead (if the
- original file name has an extension, that extension is <em>replaced</em>
- with <samp>.ann</samp>).
- </p>
- </dd>
- <dt><code>-Z[<var>symspec</var>]</code></dt>
- <dt><code>--no-exec-counts[=<var>symspec</var>]</code></dt>
- <dd><p>The ‘<samp>-Z</samp>’ option causes <code>gprof</code> not to
- print a tally of functions and the number of times each was called.
- If <var>symspec</var> is specified, print tally, but exclude matching symbols.
- </p>
- </dd>
- <dt><code>-r</code></dt>
- <dt><code>--function-ordering</code></dt>
- <dd><p>The ‘<samp>--function-ordering</samp>’ option causes <code>gprof</code> to print a
- suggested function ordering for the program based on profiling data.
- This option suggests an ordering which may improve paging, tlb and
- cache behavior for the program on systems which support arbitrary
- ordering of functions in an executable.
- </p>
- <p>The exact details of how to force the linker to place functions
- in a particular order is system dependent and out of the scope of this
- manual.
- </p>
- </dd>
- <dt><code>-R <var>map_file</var></code></dt>
- <dt><code>--file-ordering <var>map_file</var></code></dt>
- <dd><p>The ‘<samp>--file-ordering</samp>’ option causes <code>gprof</code> to print a
- suggested .o link line ordering for the program based on profiling data.
- This option suggests an ordering which may improve paging, tlb and
- cache behavior for the program on systems which do not support arbitrary
- ordering of functions in an executable.
- </p>
- <p>Use of the ‘<samp>-a</samp>’ argument is highly recommended with this option.
- </p>
- <p>The <var>map_file</var> argument is a pathname to a file which provides
- function name to object file mappings. The format of the file is similar to
- the output of the program <code>nm</code>.
- </p>
- <div class="smallexample">
- <pre class="smallexample">c-parse.o:00000000 T yyparse
- c-parse.o:00000004 C yyerrflag
- c-lang.o:00000000 T maybe_objc_method_name
- c-lang.o:00000000 T print_lang_statistics
- c-lang.o:00000000 T recognize_objc_keyword
- c-decl.o:00000000 T print_lang_identifier
- c-decl.o:00000000 T print_lang_type
- …
-
- </pre></div>
-
- <p>To create a <var>map_file</var> with <small>GNU</small> <code>nm</code>, type a command like
- <kbd>nm --extern-only --defined-only -v --print-file-name program-name</kbd>.
- </p>
- </dd>
- <dt><code>-T</code></dt>
- <dt><code>--traditional</code></dt>
- <dd><p>The ‘<samp>-T</samp>’ option causes <code>gprof</code> to print its output in
- “traditional” BSD style.
- </p>
- </dd>
- <dt><code>-w <var>width</var></code></dt>
- <dt><code>--width=<var>width</var></code></dt>
- <dd><p>Sets width of output lines to <var>width</var>.
- Currently only used when printing the function index at the bottom
- of the call graph.
- </p>
- </dd>
- <dt><code>-x</code></dt>
- <dt><code>--all-lines</code></dt>
- <dd><p>This option affects annotated source output only.
- By default, only the lines at the beginning of a basic-block
- are annotated. If this option is specified, every line in
- a basic-block is annotated by repeating the annotation for the
- first line. This behavior is similar to <code>tcov</code>’s ‘<samp>-a</samp>’.
- </p>
- </dd>
- <dt><code>--demangle[=<var>style</var>]</code></dt>
- <dt><code>--no-demangle</code></dt>
- <dd><p>These options control whether C++ symbol names should be demangled when
- printing output. The default is to demangle symbols. The
- <code>--no-demangle</code> option may be used to turn off demangling. Different
- compilers have different mangling styles. The optional demangling style
- argument can be used to choose an appropriate demangling style for your
- compiler.
- </p></dd>
- </dl>
-
- <hr>
- <div class="header">
- <p>
- Next: <a href="Analysis-Options.html#Analysis-Options" accesskey="n" rel="next">Analysis Options</a>, Up: <a href="Invoking.html#Invoking" accesskey="u" rel="up">Invoking</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
- </div>
-
-
-
- </body>
- </html>
|