Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LLVM-DWARFDUMP(1)		      LLVM		       LLVM-DWARFDUMP(1)

NAME
     llvm-dwarfdump - dump and verify DWARF debug information

SYNOPSIS
     llvm-dwarfdump [options] [filename ...]

DESCRIPTION
     llvm-dwarfdump  parses  DWARF sections in object files, archives, and .dSYM
     bundles and prints their contents in human-readable  form.  Only  the  .de-
     bug_info  section	is printed unless one of the section-specific options or
     --all is specified.

     If no input file is specified, a.out is used instead. If - is used  as  the
     input file, llvm-dwarfdump reads the input from its standard input stream.

OPTIONS
     -a, --all
	    Dump all supported DWARF sections.

     --arch=<arch>
	    Dump  DWARF  debug	information  for the specified CPU architecture.
	    Architectures may be specified by name or by  number.   This  option
	    can be specified multiple times, once for each desired architecture.
	    All CPU architectures will be printed by default.

     -c, --show-children
	    Show  a  debug  info entry's children when selectively printing with
	    the =<offset> argument of --debug-info, or options such as --find or
	    --name.

     --color
	    Use colors in output.

     -f <name>, --find=<name>
	    Search for the exact text <name> in the accelerator tables and print
	    the matching debug information entries.  When there is no  accelera-
	    tor  tables  or the name of the DIE you are looking for is not found
	    in the accelerator tables, try using the slower  but  more	complete
	    --name option.

     -F, --show-form
	    Show DWARF form types after the DWARF attribute types.

     -h, --help
	    Show help and usage for this command.

     --help-list
	    Show  help	and  usage for this command without grouping the options
	    into categories.

     -i, --ignore-case
	    Ignore case distinctions when using --name.

     -n <name>, --name=<name>
	    Find and print all debug info entries  whose  name	(DW_AT_name  at-
	    tribute) is <name>.

     --lookup=<address>
	    Look  up  <address> in the debug information and print out the file,
	    function, block, and line table details.

     -o <path>
	    Redirect output to a file specified by <path>, where - is the  stan-
	    dard output stream.

     -p, --show-parents
	    Show a debug info entry's parents when selectively printing with the
	    =<offset>  argument  of  --debug-info,  or options such as --find or
	    --name.

     --parent-recurse-depth=<N>
	    When displaying debug info entry parents, only show them to a  maxi-
	    mum depth of <N>.

     --quiet
	    Use with --verify to not emit to STDOUT.

     -r <N>, --recurse-depth=<N>
	    When  displaying debug info entries, only show children to a maximum
	    depth of <N>.

     --show-section-sizes
	    Show the sizes of all debug sections, expressed in bytes.

     --show-sources
	    Print all source files mentioned in the debug information.	Absolute
	    paths are given whenever possible.

     --statistics
	    Collect  debug  info  quality  metrics  and print the results as ma-
	    chine-readable single-line JSON output. The  output  format  is  de-
	    scribed in the section below (FORMAT OF STATISTICS OUTPUT).

     --summarize-types
	    Abbreviate the description of type unit entries.

     -x, --regex
	    Treat  any <name> strings as regular expressions when searching with
	    --name. If --ignore-case is also specified, the  regular  expression
	    becomes case-insensitive.

     -u, --uuid
	    Show the UUID for each architecture.

     --diff
	    Dump  the  output  in  a  format that is more friendly for comparing
	    DWARF output from two different files.

     -v, --verbose
	    Display verbose information when dumping. This  can  help  to  debug
	    DWARF issues.

     --verify
	    Verify  the structure of the DWARF information by verifying the com-
	    pile unit chains, DIE relationships graph, address ranges, and more.

     --version
	    Display the version of the tool.

     --debug-abbrev, --debug-addr, --debug-aranges, --debug-cu-index, --de-
     bug-frame [=<offset>], --debug-gnu-pubnames, --debug-gnu-pubtypes, --de-
     bug-info [=<offset>], --debug-line [=<offset>], --debug-line-str, --de-
     bug-loc [=<offset>], --debug-loclists [=<offset>], --debug-macro, --de-
     bug-names, --debug-pubnames, --debug-pubtypes, --debug-ranges, --de-
     bug-rnglists, --debug-str, --debug-str-offsets, --debug-tu-index, --de-
     bug-types [=<offset>], --eh-frame [=<offset>], --gdb-index, --apple-names,
     --apple-types, --apple-namespaces, --apple-objc
	    Dump the specified DWARF section by name. Only the .debug_info  sec-
	    tion  is  shown by default. Some entries support adding an =<offset>
	    as a way to provide an optional offset of the exact  entry	to  dump
	    within  the respective section. When an offset is provided, only the
	    entry at that offset will be dumped, else the entire section will be
	    dumped.

	    The --debug-macro option prints both the .debug_macro and  the  .de-
	    bug_macinfo sections.

	    The --debug-frame and --eh-frame options are aliases, in cases where
	    both sections are present one command outputs both.

     @<FILE>
	    Read command-line options from <FILE>.

FORMAT OF STATISTICS OUTPUT
     The  --statistics	option	generates  single-line	JSON output representing
     quality metrics of the processed debug info. These metrics  are  useful  to
     compare  changes between two compilers, particularly for judging the effect
     that a change to the compiler has on the debug info quality.

     The output is formatted as key-value pairs. The first pair contains a  ver-
     sion number. The following naming scheme is used for the keys:

	* variables ==> local variables and parameters

	* local vars ==> local variables

	* params ==> formal parameters

     For aggregated values, the following keys are used:

	* sum_of_all_variables(...) ==> the sum applied to all variables

	* #bytes ==> the number of bytes

	* #variables  -  entry	values ... ==> the number of variables excluding
	  the entry values etc.

EXIT STATUS
     llvm-dwarfdump returns 0 if the input files were parsed and dumped success-
     fully. Otherwise, it returns 1.

SEE ALSO
     dsymutil(1)

AUTHOR
     Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT
     2003-2026, LLVM Project

19				   2026-07-30		       LLVM-DWARFDUMP(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=llvm-dwarfdump&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help