2017-10-04 07:46:57 +08:00
|
|
|
llvm-dwarfdump - dump and verify DWARF debug information
|
|
|
|
========================================================
|
2014-05-20 06:53:29 +08:00
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
|
2017-10-04 07:46:57 +08:00
|
|
|
:program:`llvm-dwarfdump` [*options*] [*filename ...*]
|
2014-05-20 06:53:29 +08:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
|
2017-10-04 07:46:57 +08:00
|
|
|
:program:`llvm-dwarfdump` parses DWARF sections in object files,
|
|
|
|
archives, and `.dSYM` bundles and prints their contents in
|
|
|
|
human-readable form. Only the .debug_info section is printed unless one of
|
|
|
|
the section-specific options or :option:`--all` is specified.
|
2014-05-20 06:53:29 +08:00
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
|
2017-10-04 07:46:57 +08:00
|
|
|
.. option:: -a, --all
|
2014-05-20 06:53:29 +08:00
|
|
|
|
2017-10-04 07:46:57 +08:00
|
|
|
Disassemble all supported DWARF sections.
|
|
|
|
|
|
|
|
.. option:: --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.
|
|
|
|
|
|
|
|
.. option:: -c, --show-children
|
|
|
|
|
|
|
|
Show a debug info entry's children when using
|
|
|
|
the :option:`--debug-info`, :option:`--find`,
|
|
|
|
and :option:`--name` options.
|
|
|
|
|
|
|
|
.. option:: -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 accelerator 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 :option:`--name` option.
|
|
|
|
|
|
|
|
.. option:: -F, --show-form
|
|
|
|
|
|
|
|
Show DWARF form types after the DWARF attribute types.
|
|
|
|
|
|
|
|
.. option:: -h, --help
|
|
|
|
|
|
|
|
Show help and usage for this command.
|
|
|
|
|
|
|
|
.. option:: -i, --ignore-case
|
|
|
|
|
|
|
|
Ignore case distinctions in when searching entries by name
|
|
|
|
or by regular expression.
|
|
|
|
|
|
|
|
.. option:: -n <pattern>, --name=<pattern>
|
|
|
|
|
|
|
|
Find and print all debug info entries whose name
|
|
|
|
(`DW_AT_name` attribute) matches the exact text in
|
|
|
|
<pattern>. Use the :option:`--regex` option to have
|
|
|
|
<pattern> become a regular expression for more flexible
|
|
|
|
pattern matching.
|
|
|
|
|
|
|
|
.. option:: --lookup=<address>
|
|
|
|
|
|
|
|
Lookup <address> in the debug information and print out the file,
|
|
|
|
function, block, and line table details.
|
|
|
|
|
|
|
|
.. option:: -o <path>, --out-file=<path>
|
|
|
|
|
|
|
|
Redirect output to a file specified by <path>.
|
|
|
|
|
|
|
|
.. option:: -p, --show-parents
|
|
|
|
|
|
|
|
Show a debug info entry's parent objects when using the
|
|
|
|
:option:`--debug-info`, :option:`--find`, and
|
|
|
|
:option:`--name` options.
|
|
|
|
|
|
|
|
.. option:: -r <n>, --recurse-depth=<n>
|
|
|
|
|
|
|
|
Only recurse to a maximum depth of <n> when dumping debug info
|
|
|
|
entries.
|
|
|
|
|
2017-10-07 04:24:34 +08:00
|
|
|
.. option:: --statistics
|
|
|
|
|
|
|
|
Collect debug info quality metrics and print the results
|
|
|
|
as machine-readable single-line JSON output.
|
|
|
|
|
2017-10-04 07:46:57 +08:00
|
|
|
.. option:: -x, --regex
|
|
|
|
|
|
|
|
Treat any <pattern> strings as regular expressions when searching
|
|
|
|
instead of just as an exact string match.
|
|
|
|
|
|
|
|
.. option:: -u, --uuid
|
|
|
|
|
|
|
|
Show the UUID for each architecture.
|
|
|
|
|
|
|
|
.. option:: --diff
|
|
|
|
|
|
|
|
Dump the output in a format that is more friendly for comparing
|
|
|
|
DWARF output from two different files.
|
|
|
|
|
|
|
|
.. option:: -v, --verbose
|
|
|
|
|
|
|
|
Display verbose information when dumping. This can help to debug
|
|
|
|
DWARF issues.
|
|
|
|
|
|
|
|
.. option:: --verify
|
|
|
|
|
|
|
|
Verify the structure of the DWARF information by verifying the
|
|
|
|
compile unit chains, DIE relationships graph, address
|
|
|
|
ranges, and more.
|
|
|
|
|
|
|
|
.. option:: --version
|
|
|
|
|
|
|
|
Display the version of the tool.
|
|
|
|
|
|
|
|
.. option:: --debug-abbrev, --debug-aranges, --debug-cu-index, --debug-frame [=<offset>], --debug-gnu-pubnames, --debug-gnu-pubtypes, --debug-info [=<offset>], --debug-line [=<offset>], --debug-loc [=<offset>], --debug-macro, --debug-pubnames, --debug-pubtypes, --debug-ranges, --debug-str, --debug-str-offsets, --debug-tu-index, --debug-types, --eh-frame, --gdb-index, --apple-names, --apple-types, --apple-namespaces, --apple-objc
|
|
|
|
|
|
|
|
Dump the specified DWARF section by name. Only the
|
|
|
|
`.debug_info` section 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. Children of items at a specific
|
|
|
|
offset can be dumped by also using the
|
|
|
|
:option:`--show-children` option where applicable.
|
2014-05-20 06:53:29 +08:00
|
|
|
|
|
|
|
EXIT STATUS
|
|
|
|
-----------
|
|
|
|
|
2015-06-26 07:40:15 +08:00
|
|
|
:program:`llvm-dwarfdump` returns 0 if the input files were parsed and dumped
|
|
|
|
successfully. Otherwise, it returns 1.
|
2017-10-04 07:46:57 +08:00
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
|
2017-11-03 02:44:54 +08:00
|
|
|
:manpage:`dsymutil(1)`
|