notes

来自「基于4个mips核的noc设计」· 代码 · 共 439 行 · 第 1/2 页

TXT
439
字号
Sun Feb  5 16:09:16 1995This file documents the changes and new features available with thisversion of GNU gprof.* New Features o Long options o Supports generalized file format, without breaking backward compatibility:   new file format supports basic-block execution counts and non-realtime   histograms (see below) o Supports profiling at the line level: flat profiles, call-graph profiles,   and execution-counts can all be displayed at a level that identifies   individual lines rather than just functions o Test-coverage support (similar to Sun tcov program): source files   can be annotated with the number of times a function was invoked   or with the number of times each basic-block in a function was   executed o Generalized histograms: not just execution-time, but arbitrary   histograms are support (for example, performance counter based   profiles) o Powerful mechanism to select data to be included/excluded from   analysis and/or output o Support for DEC OSF/1 v3.0 o Full cross-platform profiling support: gprof uses BFD to support   arbitrary, non-native object file formats and non-native byte-orders   (this feature has not been tested yet) o In the call-graph function index, static function names are now   printed together with the filename in which the function was defined   (required bfd_find_nearest_line() support and symbolic debugging    information to be present in the executable file) o Major overhaul of source code (compiles cleanly with -Wall, etc.)* Supported PlatformsThe current version is known to work on: o DEC OSF/1 v3.0	All features supported. o SunOS 4.1.x	All features supported. o Solaris 2.3	Line-level profiling unsupported because bfd_find_nearest_line()	is not fully implemented for Elf binaries. o HP-UX 9.01	Line-level profiling unsupported because bfd_find_nearest_line()	is not fully implemented for SOM binaries.* Detailed Description** User Interface ChangesThe command-line interface is backwards compatible with earlierversions of GNU gprof and Berkeley gprof.  The only exception isthe option to delete arcs from the call graph.  The old syntaxwas:	-k fromname tonamewhile the new syntax is:	-k fromname/tonameThis change was necessary to be compatible with long-option parsing.Also, "fromname" and "toname" can now be arbitrary symspecs ratherthan just function names (see below for an explanation of symspecs).For example, option "-k gprof.c/" suppresses all arcs due to calls outof file "gprof.c".*** Sym SpecsIt is often necessary to apply gprof only to specific parts of aprogram.  GNU gprof has a simple but powerful mechanism to achievethis.  So called {\em symspecs\/} provide the foundation for thismechanism.  A symspec selects the parts of a profiled program to whichan operation should be applied to.  The syntax of a symspec issimple:	  filename_containing_a_dot	| funcname_not_containing_a_dot	| linenumber	| ( [ any_filename ] `:' ( any_funcname | linenumber ) )Here are some examples:	main.c			Selects everything in file "main.c"---the				dot in the string tells gprof to interpret				the string as a filename, rather than as				a function name.  To select a file whose				name does contain a dot, a trailing colon				should be specified.  For example, "odd:" is				interpreted as the file named "odd".	main			Selects all functions named "main".  Notice				that there may be multiple instances of the				same function name because some of the				definitions may be local (i.e., static).				Unless a function name is unique in a program,				you must use the colon notation explained				below to specify a function from a specific				source file.  Sometimes, functionnames contain				dots.  In such cases, it is necessar to				add a leading colon to the name.  For example,				":.mul" selects function ".mul".					main.c:main		Selects function "main" in file "main.c".	main.c:134		Selects line 134 in file "main.c".IMPLEMENTATION NOTE: The source code uses the type sym_id for symspecs.At some point, this probably ought to be changed to "sym_spec" to makereading the code easier.*** Long optionsGNU gprof now supports long options.  The following is a list of allsupported options.  Options that are listed without descriptionoperate in the same manner as the corresponding option in olderversions of gprof.Short Form:	Long Form:-----------	-----------l		--line			Request profiling at the line-level rather			than just at the function level.  Source			lines are identified by symbols of the form:				func (file:line)			where "func" is the function name, "file" is the			file name and "line" is the line-number that			corresponds to the line.			To work properly, the binary must contain symbolic			debugging information.  This means that the source			have to be translated with option "-g" specified.			Functions for which there is no symbolic debugging			information available are treated as if "--line"			had not been specified.  However, the line number			printed with such symbols is usually incorrect			and should be ignored.-a		--no-static-A[symspec]	--annotated-source[=symspec]			Request output in the form of annotated source			files.  If "symspec" is specified, print output only			for symbols selected by "symspec".  If the option			is specified multiple times, annotated output is			generated for the union of all symspecs.			Examples:			  -A		Prints annotated source for all					source files.			  -Agprof.c	Prints annotated source for file					gprof.c.			  -Afoobar	Prints annotated source for files					containing a function named "foobar".					The entire file will be printed, but					only the function itself will be					annotated with profile data.-J[symspec]	--no-annotated-source[=symspec]			Suppress annotated source output.  If specified			without argument, annotated output is suppressed			completely.  With an argument, annotated output			is suppressed only for the symbols selected by			"symspec".  If the option is specified multiple			times, annotated output is suppressed for the			union of all symspecs.  This option has lower			precedence than --annotated-source-p[symspec]	--flat-profile[=symspec]			Request output in the form of a flat profile			(unless any other output-style option is specified,			 this option is turned on by default).  If			"symspec" is specified, include only symbols			selected by "symspec" in flat profile.  If the			option is specified multiple times, the flat			profile includes symbols selected by the union			of all symspecs.			-P[symspec]	--no-flat-profile[=symspec]			Suppress output in the flat profile.  If given			without an argument, the flat profile is suppressed			completely.  If "symspec" is specified, suppress			the selected symbols in the flat profile.  If the			option is specified multiple times, the union of			the selected symbols is suppressed.  This option			has lower precedence than --flat-profile.-q[symspec]	--graph[=symspec]			Request output in the form of a call-graph			(unless any other output-style option is specified,			 this option is turned on by default).  If "symspec"			is specified, include only symbols selected by			"symspec" in the call-graph.  If the option is			specified multiple times, the call-graph includes			symbols selected by the union of all symspecs.-Q[symspec]	--no-graph[=symspec]			Suppress output in the call-graph.  If given without			an argument, the call-graph is suppressed completely.			With a "symspec", suppress the selected symbols			from the call-graph.  If the option is specified			multiple times, the union of the selected symbols			is suppressed.  This option has lower precedence			than --graph.

⌨️ 快捷键说明

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