addr2line(1)


NAME

   addr2line - convert addresses into file names and line numbers.

SYNOPSIS

   addr2line [-a|--addresses]
             [-b bfdname|--target=bfdname]
             [-C|--demangle[=style]]
             [-e filename|--exe=filename]
             [-f|--functions] [-s|--basename]
             [-i|--inlines]
             [-p|--pretty-print]
             [-j|--section=name]
             [-H|--help] [-V|--version]
             [addr addr ...]

DESCRIPTION

   addr2line translates addresses into file names and line numbers.  Given
   an address in an executable or an offset in a section of a relocatable
   object, it uses the debugging information to figure out which file name
   and line number are associated with it.

   The executable or relocatable object to use is specified with the -e
   option.  The default is the file a.out.  The section in the relocatable
   object to use is specified with the -j option.

   addr2line has two modes of operation.

   In the first, hexadecimal addresses are specified on the command line,
   and addr2line displays the file name and line number for each address.

   In the second, addr2line reads hexadecimal addresses from standard
   input, and prints the file name and line number for each address on
   standard output.  In this mode, addr2line may be used in a pipe to
   convert dynamically chosen addresses.

   The format of the output is FILENAME:LINENO.  By default each input
   address generates one line of output.

   Two options can generate additional lines before each FILENAME:LINENO
   line (in that order).

   If the -a option is used then a line with the input address is
   displayed.

   If the -f option is used, then a line with the FUNCTIONNAME is
   displayed.  This is the name of the function containing the address.

   One option can generate additional lines after the FILENAME:LINENO
   line.

   If the -i option is used and the code at the given address is present
   there because of inlining by the compiler then additional lines are
   displayed afterwards.  One or two extra lines (if the -f option is
   used) are displayed for each inlined function.

   Alternatively if the -p option is used then each input address
   generates a single, long, output line containing the address, the
   function name, the file name and the line number.  If the -i option has
   also been used then any inlined functions will be displayed in the same
   manner, but on separate lines, and prefixed by the text (inlined by).

   If the file name or function name can not be determined, addr2line will
   print two question marks in their place.  If the line number can not be
   determined, addr2line will print 0.

OPTIONS

   The long and short forms of options, shown here as alternatives, are
   equivalent.

   -a
   --addresses
       Display the address before the function name, file and line number
       information.  The address is printed with a 0x prefix to easily
       identify it.

   -b bfdname
   --target=bfdname
       Specify that the object-code format for the object files is
       bfdname.

   -C
   --demangle[=style]
       Decode (demangle) low-level symbol names into user-level names.
       Besides removing any initial underscore prepended by the system,
       this makes C++ function names readable.  Different compilers have
       different mangling styles. The optional demangling style argument
       can be used to choose an appropriate demangling style for your
       compiler.

   -e filename
   --exe=filename
       Specify the name of the executable for which addresses should be
       translated.  The default file is a.out.

   -f
   --functions
       Display function names as well as file and line number information.

   -s
   --basenames
       Display only the base of each file name.

   -i
   --inlines
       If the address belongs to a function that was inlined, the source
       information for all enclosing scopes back to the first non-inlined
       function will also be printed.  For example, if "main" inlines
       "callee1" which inlines "callee2", and address is from "callee2",
       the source information for "callee1" and "main" will also be
       printed.

   -j
   --section
       Read offsets relative to the specified section instead of absolute
       addresses.

   -p
   --pretty-print
       Make the output more human friendly: each location are printed on
       one line.  If option -i is specified, lines for all enclosing
       scopes are prefixed with (inlined by).

   @file
       Read command-line options from file.  The options read are inserted
       in place of the original @file option.  If file does not exist, or
       cannot be read, then the option will be treated literally, and not
       removed.

       Options in file are separated by whitespace.  A whitespace
       character may be included in an option by surrounding the entire
       option in either single or double quotes.  Any character (including
       a backslash) may be included by prefixing the character to be
       included with a backslash.  The file may itself contain additional
       @file options; any such options will be processed recursively.

SEE ALSO

   Info entries for binutils.

COPYRIGHT

   Copyright (c) 1991-2016 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".





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.