⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gprof.1

📁 MinGW+MSYS必备的开发工具链
💻 1
📖 第 1 页 / 共 2 页
字号:
.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3.\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...de Sp \" Vertical space (when we can't use .PP).if t .sp .5v.if n .sp...de Vb \" Begin verbatim text.ft CW.nf.ne \\$1...de Ve \" End verbatim text.ft R.fi...\" Set up some character translations and predefined strings.  \*(-- will.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left.\" double quote, and \*(R" will give a right double quote.  | will give a.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'.\" expand to `' in nroff, nothing in troff, for use with C<>..tr \(*W-|\(bv\*(Tr.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'.ie n \{\.    ds -- \(*W-.    ds PI pi.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch.    ds L" "".    ds R" "".    ds C` "".    ds C' ""'br\}.el\{\.    ds -- \|\(em\|.    ds PI \(*p.    ds L" ``.    ds R" '''br\}.\".\" If the F register is turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD.  Of course, you'll have to process the.\" output yourself in some meaningful fashion..if \nF \{\.    de IX.    tm Index:\\$1\t\\n%\t"\\$2"...    nr % 0.    rr F.\}.\".\" For nroff, turn off justification.  Always turn off hyphenation; it makes.\" way too many mistakes in technical documents..hy 0.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear.  Run.  Save yourself.  No user-serviceable parts..    \" fudge factors for nroff and troff.if n \{\.    ds #H 0.    ds #V .8m.    ds #F .3m.    ds #[ \f1.    ds #] \fP.\}.if t \{\.    ds #H ((1u-(\\\\n(.fu%2u))*.13m).    ds #V .6m.    ds #F 0.    ds #[ \&.    ds #] \&.\}.    \" simple accents for nroff and troff.if n \{\.    ds ' \&.    ds ` \&.    ds ^ \&.    ds , \&.    ds ~ ~.    ds /.\}.if t \{\.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u".    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}.    \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E.    \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'.    \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\.    ds : e.    ds 8 ss.    ds o a.    ds d- d\h'-1'\(ga.    ds D- D\h'-1'\(hy.    ds th \o'bp'.    ds Th \o'LP'.    ds ae ae.    ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "GPROF 1".TH GPROF 1 "2006-08-18" "binutils-2.17.50" "GNU".SH "NAME"gprof \- display call graph profile data.SH "SYNOPSIS".IX Header "SYNOPSIS"gprof [ \-[abcDhilLrsTvwxyz] ] [ \-[ACeEfFJnNOpPqQZ][\fIname\fR] ]  [ \-I \fIdirs\fR ] [ \-d[\fInum\fR] ] [ \-k \fIfrom/to\fR ] [ \-m \fImin-count\fR ] [ \-R \fImap_file\fR ] [ \-t \fItable-length\fR ] [ \-\-[no\-]annotated\-source[=\fIname\fR] ]  [ \-\-[no\-]exec\-counts[=\fIname\fR] ] [ \-\-[no\-]flat\-profile[=\fIname\fR] ] [ \-\-[no\-]graph[=\fIname\fR] ] [ \-\-[no\-]time=\fIname\fR] [ \-\-all\-lines ] [ \-\-brief ]  [ \-\-debug[=\fIlevel\fR] ] [ \-\-function\-ordering ]  [ \-\-file\-ordering ] [ \-\-directory\-path=\fIdirs\fR ] [ \-\-display\-unused\-functions ] [ \-\-file\-format=\fIname\fR ] [ \-\-file\-info ] [ \-\-help ] [ \-\-line ] [ \-\-min\-count=\fIn\fR ] [ \-\-no\-static ] [ \-\-print\-path ] [ \-\-separate\-files ] [ \-\-static\-call\-graph ] [ \-\-sum ] [ \-\-table\-length=\fIlen\fR ] [ \-\-traditional ] [ \-\-version ] [ \-\-width=\fIn\fR ] [ \-\-ignore\-non\-functions ] [ \-\-demangle[=\fI\s-1STYLE\s0\fR] ] [ \-\-no\-demangle ] [ \fIimage-file\fR ] [ \fIprofile-file\fR ... ].SH "DESCRIPTION".IX Header "DESCRIPTION"\&\f(CW\*(C`gprof\*(C'\fR produces an execution profile of C, Pascal, or Fortran77 programs.  The effect of called routines is incorporated in the profile of each caller.  The profile data is taken from the call graph profile file(\fIgmon.out\fR default) which is created by programsthat are compiled with the \fB\-pg\fR option of\&\f(CW\*(C`cc\*(C'\fR, \f(CW\*(C`pc\*(C'\fR, and \f(CW\*(C`f77\*(C'\fR.The \fB\-pg\fR option also links in versions of the library routinesthat are compiled for profiling.  \f(CW\*(C`Gprof\*(C'\fR reads the given object file (the default is \f(CW\*(C`a.out\*(C'\fR) and establishes the relation betweenits symbol table and the call graph profile from \fIgmon.out\fR.If more than one profile file is specified, the \f(CW\*(C`gprof\*(C'\fRoutput shows the sum of the profile information in the given profile files..PP\&\f(CW\*(C`Gprof\*(C'\fR calculates the amount of time spent in each routine.Next, these times are propagated along the edges of the call graph.Cycles are discovered, and calls into a cycle are made to share the timeof the cycle..PPSeveral forms of output are available from the analysis..PPThe \fIflat profile\fR shows how much time your program spent in each function,and how many times that function was called.  If you simply want to knowwhich functions burn most of the cycles, it is stated concisely here..PPThe \fIcall graph\fR shows, for each function, which functions called it, whichother functions it called, and how many times.  There is also an estimateof how much time was spent in the subroutines of each function.  This cansuggest places where you might try to eliminate function calls that use alot of time.  .PPThe \fIannotated source\fR listing is a copy of the program'ssource code, labeled with the number of times each line of theprogram was executed.  .SH "OPTIONS".IX Header "OPTIONS"These options specify which of several output formats\&\f(CW\*(C`gprof\*(C'\fR should produce..PPMany of these options take an optional \fIsymspec\fR to specifyfunctions to be included or excluded.  These options can bespecified multiple times, with different symspecs, to includeor exclude sets of symbols.  .PPSpecifying any of these options overrides the default (\fB\-p \-q\fR),which prints a flat profile and call graph analysisfor all functions..ie n .IP """\-A[\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-A[\f(CIsymspec\f(CW]\fR" 4.IX Item "-A[symspec]".PD 0.ie n .IP """\-\-annotated\-source[=\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-\-annotated\-source[=\f(CIsymspec\f(CW]\fR" 4.IX Item "--annotated-source[=symspec]".PDThe \fB\-A\fR option causes \f(CW\*(C`gprof\*(C'\fR to print annotated source code.If \fIsymspec\fR is specified, print output only for matching symbols..ie n .IP """\-b""" 4.el .IP "\f(CW\-b\fR" 4.IX Item "-b".PD 0.ie n .IP """\-\-brief""" 4.el .IP "\f(CW\-\-brief\fR" 4.IX Item "--brief".PDIf the \fB\-b\fR option is given, \f(CW\*(C`gprof\*(C'\fR doesn't print theverbose blurbs that try to explain the meaning of all of the fields inthe tables.  This is useful if you intend to print out the output, orare tired of seeing the blurbs..ie n .IP """\-C[\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-C[\f(CIsymspec\f(CW]\fR" 4.IX Item "-C[symspec]".PD 0.ie n .IP """\-\-exec\-counts[=\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-\-exec\-counts[=\f(CIsymspec\f(CW]\fR" 4.IX Item "--exec-counts[=symspec]".PDThe \fB\-C\fR option causes \f(CW\*(C`gprof\*(C'\fR toprint a tally of functions and the number of times each was called.If \fIsymspec\fR is specified, print tally only for matching symbols..SpIf the profile data file contains basic-block count records, specifyingthe \fB\-l\fR option, along with \fB\-C\fR, will cause basic-blockexecution counts to be tallied and displayed..ie n .IP """\-i""" 4.el .IP "\f(CW\-i\fR" 4.IX Item "-i".PD 0.ie n .IP """\-\-file\-info""" 4.el .IP "\f(CW\-\-file\-info\fR" 4.IX Item "--file-info".PDThe \fB\-i\fR option causes \f(CW\*(C`gprof\*(C'\fR to display summary informationabout the profile data file(s) and then exit.  The number of histogram,call graph, and basic-block count records is displayed..ie n .IP """\-I \f(CIdirs\f(CW""" 4.el .IP "\f(CW\-I \f(CIdirs\f(CW\fR" 4.IX Item "-I dirs".PD 0.ie n .IP """\-\-directory\-path=\f(CIdirs\f(CW""" 4.el .IP "\f(CW\-\-directory\-path=\f(CIdirs\f(CW\fR" 4.IX Item "--directory-path=dirs".PDThe \fB\-I\fR option specifies a list of search directories inwhich to find source files.  Environment variable \fI\s-1GPROF_PATH\s0\fRcan also be used to convey this information.Used mostly for annotated source output..ie n .IP """\-J[\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-J[\f(CIsymspec\f(CW]\fR" 4.IX Item "-J[symspec]".PD 0.ie n .IP """\-\-no\-annotated\-source[=\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-\-no\-annotated\-source[=\f(CIsymspec\f(CW]\fR" 4.IX Item "--no-annotated-source[=symspec]".PDThe \fB\-J\fR option causes \f(CW\*(C`gprof\*(C'\fR not toprint annotated source code.If \fIsymspec\fR is specified, \f(CW\*(C`gprof\*(C'\fR prints annotated source,but excludes matching symbols..ie n .IP """\-L""" 4.el .IP "\f(CW\-L\fR" 4.IX Item "-L".PD 0.ie n .IP """\-\-print\-path""" 4.el .IP "\f(CW\-\-print\-path\fR" 4.IX Item "--print-path".PDNormally, source filenames are printed with the pathcomponent suppressed.  The \fB\-L\fR option causes \f(CW\*(C`gprof\*(C'\fRto print the full pathname ofsource filenames, which is determinedfrom symbolic debugging information in the image fileand is relative to the directory in which the compilerwas invoked..ie n .IP """\-p[\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-p[\f(CIsymspec\f(CW]\fR" 4.IX Item "-p[symspec]".PD 0.ie n .IP """\-\-flat\-profile[=\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-\-flat\-profile[=\f(CIsymspec\f(CW]\fR" 4.IX Item "--flat-profile[=symspec]".PDThe \fB\-p\fR option causes \f(CW\*(C`gprof\*(C'\fR to print a flat profile.If \fIsymspec\fR is specified, print flat profile only for matching symbols..ie n .IP """\-P[\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-P[\f(CIsymspec\f(CW]\fR" 4.IX Item "-P[symspec]".PD 0.ie n .IP """\-\-no\-flat\-profile[=\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-\-no\-flat\-profile[=\f(CIsymspec\f(CW]\fR" 4.IX Item "--no-flat-profile[=symspec]".PDThe \fB\-P\fR option causes \f(CW\*(C`gprof\*(C'\fR to suppress printing a flat profile.If \fIsymspec\fR is specified, \f(CW\*(C`gprof\*(C'\fR prints a flat profile,but excludes matching symbols..ie n .IP """\-q[\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-q[\f(CIsymspec\f(CW]\fR" 4.IX Item "-q[symspec]".PD 0.ie n .IP """\-\-graph[=\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-\-graph[=\f(CIsymspec\f(CW]\fR" 4.IX Item "--graph[=symspec]".PDThe \fB\-q\fR option causes \f(CW\*(C`gprof\*(C'\fR to print the call graph analysis.If \fIsymspec\fR is specified, print call graph only for matching symbolsand their children..ie n .IP """\-Q[\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-Q[\f(CIsymspec\f(CW]\fR" 4.IX Item "-Q[symspec]".PD 0.ie n .IP """\-\-no\-graph[=\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-\-no\-graph[=\f(CIsymspec\f(CW]\fR" 4.IX Item "--no-graph[=symspec]".PDThe \fB\-Q\fR option causes \f(CW\*(C`gprof\*(C'\fR to suppress printing thecall graph.If \fIsymspec\fR is specified, \f(CW\*(C`gprof\*(C'\fR prints a call graph,but excludes matching symbols..ie n .IP """\-t""" 4.el .IP "\f(CW\-t\fR" 4.IX Item "-t".PD 0.ie n .IP """\-\-table\-length=\f(CInum\f(CW""" 4.el .IP "\f(CW\-\-table\-length=\f(CInum\f(CW\fR" 4.IX Item "--table-length=num".PDThe \fB\-t\fR option causes the \fInum\fR most active source lines ineach source file to be listed when source annotation is enabled.  Thedefault is 10..ie n .IP """\-y""" 4.el .IP "\f(CW\-y\fR" 4.IX Item "-y".PD 0.ie n .IP """\-\-separate\-files""" 4.el .IP "\f(CW\-\-separate\-files\fR" 4.IX Item "--separate-files".PDThis option affects annotated source output only.Normally, \f(CW\*(C`gprof\*(C'\fR prints annotated source filesto standard\-output.  If this option is specified,annotated source for a file named \fIpath/\fIfilename\fI\fRis generated in the file \fI\fIfilename\fI\-ann\fR.  If the underlyingfile system would truncate \fI\fIfilename\fI\-ann\fR so that itoverwrites the original \fI\fIfilename\fI\fR, \f(CW\*(C`gprof\*(C'\fR generatesannotated source in the file \fI\fIfilename\fI.ann\fR instead (if theoriginal file name has an extension, that extension is \fIreplaced\fRwith \fI.ann\fR)..ie n .IP """\-Z[\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-Z[\f(CIsymspec\f(CW]\fR" 4.IX Item "-Z[symspec]".PD 0.ie n .IP """\-\-no\-exec\-counts[=\f(CIsymspec\f(CW]""" 4.el .IP "\f(CW\-\-no\-exec\-counts[=\f(CIsymspec\f(CW]\fR" 4.IX Item "--no-exec-counts[=symspec]".PDThe \fB\-Z\fR option causes \f(CW\*(C`gprof\*(C'\fR not toprint a tally of functions and the number of times each was called.If \fIsymspec\fR is specified, print tally, but exclude matching symbols..ie n .IP """\-r""" 4.el .IP "\f(CW\-r\fR" 4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -