addr2line.c contributed by Ulrich Lauther
<Ulrich.Lauther@zfe.siemens.de>: * addr2line.c: New file. * Makefile.in: Rebuild dependencies. (ADDR2LINE_PROG): New variable. (MANPAGES): Add addr2line. (PROGS): Add $(ADDR2LINE_PROG). (CFILES): Add addr2line.c. ($(ADDR2LINE_PROG)): New target. * binutils.texi: Document addr2line. * addr2line.1: New file.
This commit is contained in:
parent
6d17c8eb26
commit
fb38844dcb
|
@ -30,6 +30,8 @@ README
|
||||||
TODO
|
TODO
|
||||||
acconfig.h
|
acconfig.h
|
||||||
aclocal.m4
|
aclocal.m4
|
||||||
|
addr2line.1
|
||||||
|
addr2line.c
|
||||||
ar.1
|
ar.1
|
||||||
ar.c
|
ar.c
|
||||||
arlex.l
|
arlex.l
|
||||||
|
|
|
@ -1,5 +1,17 @@
|
||||||
Thu Mar 27 16:03:02 1997 Ian Lance Taylor <ian@cygnus.com>
|
Thu Mar 27 16:03:02 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
addr2line.c contributed by Ulrich Lauther
|
||||||
|
<Ulrich.Lauther@zfe.siemens.de>:
|
||||||
|
* addr2line.c: New file.
|
||||||
|
* Makefile.in: Rebuild dependencies.
|
||||||
|
(ADDR2LINE_PROG): New variable.
|
||||||
|
(MANPAGES): Add addr2line.
|
||||||
|
(PROGS): Add $(ADDR2LINE_PROG).
|
||||||
|
(CFILES): Add addr2line.c.
|
||||||
|
($(ADDR2LINE_PROG)): New target.
|
||||||
|
* binutils.texi: Document addr2line.
|
||||||
|
* addr2line.1: New file.
|
||||||
|
|
||||||
* version.c (print_version): Update copyright date.
|
* version.c (print_version): Update copyright date.
|
||||||
|
|
||||||
Mon Mar 24 10:52:45 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
Mon Mar 24 10:52:45 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||||
|
|
|
@ -0,0 +1,127 @@
|
||||||
|
.\" Copyright (c) 1997 Free Software Foundation
|
||||||
|
.\" See COPYING for conditions for redistribution
|
||||||
|
.TH addr2line 1 "27 March 1997" "Cygnus Solutions" "GNU Development Tools"
|
||||||
|
.de BP
|
||||||
|
.sp
|
||||||
|
.ti \-.2i
|
||||||
|
\(**
|
||||||
|
..
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
addr2line \- convert addresses into file names and line numbers
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.hy 0
|
||||||
|
.na
|
||||||
|
.TP
|
||||||
|
.B addr2line
|
||||||
|
.RB "[\|" "\-b\ "\c
|
||||||
|
.I bfdname\c
|
||||||
|
.RB " | " "\-\-target="\c
|
||||||
|
.I bfdname\c
|
||||||
|
\&\|]
|
||||||
|
.RB "[\|" \-C | \-\-demangle "\|]"
|
||||||
|
.RB "[\|" "\-e\ "\c
|
||||||
|
.I filename\c
|
||||||
|
.RB " | " "\-\-exe="\c
|
||||||
|
.I filename\c
|
||||||
|
\&\|]
|
||||||
|
.RB "[\|" \-f | \-\-functions "\|]"
|
||||||
|
.RB "[\|" \-s | \-\-basenames "\|]"
|
||||||
|
.RB "[\|" \-H | \-\-help "\|]"
|
||||||
|
.RB "[\|" \-V | \-\-version "\|]"
|
||||||
|
.RB "[\|" addr addr ... "\|]"
|
||||||
|
.ad b
|
||||||
|
.hy 1
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\c
|
||||||
|
.B addr2line
|
||||||
|
translates program addresses into file names and line numbers. Given
|
||||||
|
an address and an executable, it uses the debugging information in the
|
||||||
|
executable to figure out which file name and line number are
|
||||||
|
associated with a given address.
|
||||||
|
|
||||||
|
The executable to use is specified with the
|
||||||
|
.B \-e
|
||||||
|
option. The default is
|
||||||
|
.B a.out\c
|
||||||
|
\&.
|
||||||
|
|
||||||
|
.B addr2line
|
||||||
|
has two modes of operation.
|
||||||
|
|
||||||
|
In the first, hexadecimal addresses are specified on the command line,
|
||||||
|
and
|
||||||
|
.B addr2line
|
||||||
|
displays the file name and line number for each address.
|
||||||
|
|
||||||
|
In the second,
|
||||||
|
.B addr2line
|
||||||
|
reads hexadecimal addresses from standard input, and prints the file
|
||||||
|
name and line number for each address on standard output. In this
|
||||||
|
mode,
|
||||||
|
.B addr2line
|
||||||
|
may be used in a pipe to convert dynamically chosen addresses.
|
||||||
|
|
||||||
|
The format of the output is FILENAME:LINENO. The file name and line
|
||||||
|
number for each address is printed on a separate line. If the
|
||||||
|
.B \-f
|
||||||
|
option is used, then each FILENAME:LINENO line is preceded by a
|
||||||
|
FUNCTIONNAME line which is the name of the function containing the
|
||||||
|
address.
|
||||||
|
|
||||||
|
If the file name or function name can not be determined,
|
||||||
|
.B addr2line
|
||||||
|
will print two question marks in their place. If the line number can
|
||||||
|
not be determined,
|
||||||
|
.B addr2line
|
||||||
|
will print 0.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.BI "\-b " "bfdname"\c
|
||||||
|
.TP
|
||||||
|
.BI "\-\-target=" "bfdname"
|
||||||
|
Specify the object-code format for the object files to be
|
||||||
|
\c
|
||||||
|
.I bfdname\c
|
||||||
|
\&.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-C
|
||||||
|
.TP
|
||||||
|
.B \-\-demangle
|
||||||
|
Decode (\fIdemangle\fP) low-level symbol names into user-level names.
|
||||||
|
Besides removing any initial underscore prepended by the system, this
|
||||||
|
makes C++ function names readable.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI "\-e " "filename"\c
|
||||||
|
.TP
|
||||||
|
.BI "\-\-exe=" "filename"
|
||||||
|
Specify the name of the executable for which addresses should be
|
||||||
|
translated. The default file is
|
||||||
|
.B a.out\c
|
||||||
|
\&.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-f
|
||||||
|
.TP
|
||||||
|
.B \-\-functions
|
||||||
|
Display function names as well as file and line number information.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-s
|
||||||
|
.TP
|
||||||
|
.B \-\-basenames
|
||||||
|
Display only the base of each file name.
|
||||||
|
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.RB "`\|" binutils "\|'"
|
||||||
|
entry in
|
||||||
|
.B
|
||||||
|
info\c
|
||||||
|
\&;
|
||||||
|
.I
|
||||||
|
The GNU Binary Utilities\c
|
||||||
|
\&, Roland H. Pesch (October 1991).
|
|
@ -117,6 +117,9 @@ Discard symbols
|
||||||
@item c++filt
|
@item c++filt
|
||||||
Demangle encoded C++ symbols
|
Demangle encoded C++ symbols
|
||||||
|
|
||||||
|
@item addr2line
|
||||||
|
Convert addresses into file names and line numbers
|
||||||
|
|
||||||
@item nlmconv
|
@item nlmconv
|
||||||
Convert object code into a Netware Loadable Module
|
Convert object code into a Netware Loadable Module
|
||||||
@end table
|
@end table
|
||||||
|
@ -132,6 +135,7 @@ Convert object code into a Netware Loadable Module
|
||||||
* strings:: List printable strings from files
|
* strings:: List printable strings from files
|
||||||
* strip:: Discard symbols
|
* strip:: Discard symbols
|
||||||
* c++filt:: Filter to demangle encoded C++ symbols
|
* c++filt:: Filter to demangle encoded C++ symbols
|
||||||
|
* addr2line:: Convert addresses to file and line
|
||||||
* nlmconv:: Converts object code into an NLM
|
* nlmconv:: Converts object code into an NLM
|
||||||
* Selecting The Target System:: How these utilities determine the target.
|
* Selecting The Target System:: How these utilities determine the target.
|
||||||
* Reporting Bugs:: Reporting Bugs
|
* Reporting Bugs:: Reporting Bugs
|
||||||
|
@ -1675,6 +1679,82 @@ c++filt @var{option} @var{symbol}
|
||||||
@end example
|
@end example
|
||||||
@end quotation
|
@end quotation
|
||||||
|
|
||||||
|
@node addr2line
|
||||||
|
@chapter addr2line
|
||||||
|
|
||||||
|
@kindex addr2line
|
||||||
|
@cindex address to file name and line number
|
||||||
|
|
||||||
|
@smallexample
|
||||||
|
addr2line [ -b @var{bfdname} | --target=@var{bfdname} ]
|
||||||
|
[ -C | --demangle ]
|
||||||
|
[ -e @var{filename} | --exe=@var{filename} ]
|
||||||
|
[ -f | --functions ] [ -s | --basename ]
|
||||||
|
[ -H | --help ] [ -V | --version ]
|
||||||
|
[ addr addr ... ]
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
@code{addr2line} translates program addresses into file names and line
|
||||||
|
numbers. Given an address and an executable, it uses the debugging
|
||||||
|
information in the executable to figure out which file name and line
|
||||||
|
number are associated with a given address.
|
||||||
|
|
||||||
|
The executable to use is specified with the @code{-e} option. The
|
||||||
|
default is @file{a.out}.
|
||||||
|
|
||||||
|
@code{addr2line} has two modes of operation.
|
||||||
|
|
||||||
|
In the first, hexadecimal addresses are specified on the command line,
|
||||||
|
and @code{addr2line} displays the file name and line number for each
|
||||||
|
address.
|
||||||
|
|
||||||
|
In the second, @code{addr2line} reads hexadecimal addresses from
|
||||||
|
standard input, and prints the file name and line number for each
|
||||||
|
address on standard output. In this mode, @code{addr2line} may be used
|
||||||
|
in a pipe to convert dynamically chosen addresses.
|
||||||
|
|
||||||
|
The format of the output is @samp{FILENAME:LINENO}. The file name and
|
||||||
|
line number for each address is printed on a separate line. If the
|
||||||
|
@code{-f} option is used, then each @samp{FILENAME:LINENO} line is
|
||||||
|
preceded by a @samp{FUNCTIONNAME} line which is the name of the function
|
||||||
|
containing the address.
|
||||||
|
|
||||||
|
If the file name or function name can not be determined,
|
||||||
|
@code{addr2line} will print two question marks in their place. If the
|
||||||
|
line number can not be determined, @code{addr2line} will print 0.
|
||||||
|
|
||||||
|
The long and short forms of options, shown here as alternatives, are
|
||||||
|
equivalent.
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item -b @var{bfdname}
|
||||||
|
@itemx --target=@var{bfdname}
|
||||||
|
@cindex object code format
|
||||||
|
Specify that the object-code format for the object files is
|
||||||
|
@var{bfdname}.
|
||||||
|
|
||||||
|
@item -C
|
||||||
|
@itemx --demangle
|
||||||
|
@cindex demangling in objdump
|
||||||
|
Decode (@dfn{demangle}) low-level symbol names into user-level names.
|
||||||
|
Besides removing any initial underscore prepended by the system, this
|
||||||
|
makes C++ function names readable. @xref{c++filt}, for more information
|
||||||
|
on demangling.
|
||||||
|
|
||||||
|
@item -e @var{filename}
|
||||||
|
@itemx --exe=@var{filename}
|
||||||
|
Specify the name of the executable for which addresses should be
|
||||||
|
translated. The default file is @file{a.out}.
|
||||||
|
|
||||||
|
@item -f
|
||||||
|
@itemx --functions
|
||||||
|
Display function names as well as file and line number information.
|
||||||
|
|
||||||
|
@item -s
|
||||||
|
@itemx --basenames
|
||||||
|
Display only the base of each file name.
|
||||||
|
@end table
|
||||||
|
|
||||||
@node nlmconv
|
@node nlmconv
|
||||||
@chapter nlmconv
|
@chapter nlmconv
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue