1LLVM-DWARFDUMP(1)                    LLVM                    LLVM-DWARFDUMP(1)
2
3
4

NAME

6       llvm-dwarfdump - dump and verify DWARF debug information
7

SYNOPSIS

9       llvm-dwarfdump [options] [filename ...]
10

DESCRIPTION

12       llvm-dwarfdump  parses  DWARF  sections  in object files, archives, and
13       .dSYM bundles and prints their contents in  human-readable  form.  Only
14       the  .debug_info  section is printed unless one of the section-specific
15       options or --all is specified.
16
17       If no input file is specified, a.out is used instead. If - is  used  as
18       the  input file, llvm-dwarfdump reads the input from its standard input
19       stream.
20

OPTIONS

22       -a, --all
23              Dump all supported DWARF sections.
24
25       --arch=<arch>
26              Dump DWARF debug information for the specified CPU architecture.
27              Architectures  may  be specified by name or by number.  This op‐
28              tion can be specified multiple times, once for each desired  ar‐
29              chitecture.  All CPU architectures will be printed by default.
30
31       -c, --show-children
32              Show  a  debug  info  entry's children when selectively printing
33              with the =<offset> argument of --debug-info, or options such  as
34              --find or --name.
35
36       --color
37              Use colors in output.
38
39       -f <name>, --find=<name>
40              Search  for  the exact text <name> in the accelerator tables and
41              print the matching debug information entries.  When there is  no
42              accelerator tables or the name of the DIE you are looking for is
43              not found in the accelerator tables, try using  the  slower  but
44              more complete --name option.
45
46       -F, --show-form
47              Show DWARF form types after the DWARF attribute types.
48
49       -h, --help
50              Show help and usage for this command.
51
52       --help-list
53              Show  help  and  usage for this command without grouping the op‐
54              tions into categories.
55
56       -i, --ignore-case
57              Ignore case distinctions when using --name.
58
59       -n <name>, --name=<name>
60              Find and print all debug info entries whose name (DW_AT_name at‐
61              tribute) is <name>.
62
63       --lookup=<address>
64              Look  up  <address>  in  the debug information and print out the
65              file, function, block, and line table details.
66
67       -o <path>
68              Redirect output to a file specified by <path>, where  -  is  the
69              standard output stream.
70
71       -p, --show-parents
72              Show a debug info entry's parents when selectively printing with
73              the =<offset> argument  of  --debug-info,  or  options  such  as
74              --find or --name.
75
76       --parent-recurse-depth=<N>
77              When  displaying  debug  info entry parents, only show them to a
78              maximum depth of <N>.
79
80       --quiet
81              Use with --verify to not emit to STDOUT.
82
83       -r <N>, --recurse-depth=<N>
84              When displaying debug info entries, only show children to a max‐
85              imum depth of <N>.
86
87       --show-section-sizes
88              Show the sizes of all debug sections, expressed in bytes.
89
90       --show-sources
91              Print all source files mentioned in the debug information. Abso‐
92              lute paths are given whenever possible.
93
94       --statistics
95              Collect debug info quality metrics and print the results as  ma‐
96              chine-readable single-line JSON output. The output format is de‐
97              scribed in the section below (FORMAT OF STATISTICS OUTPUT).
98
99       --summarize-types
100              Abbreviate the description of type unit entries.
101
102       -x, --regex
103              Treat any <name> strings as regular expressions  when  searching
104              with --name. If --ignore-case is also specified, the regular ex‐
105              pression becomes case-insensitive.
106
107       -u, --uuid
108              Show the UUID for each architecture.
109
110       --diff Dump the output in a format that is more friendly for  comparing
111              DWARF output from two different files.
112
113       -v, --verbose
114              Display verbose information when dumping. This can help to debug
115              DWARF issues.
116
117       --verify
118              Verify the structure of the DWARF information by  verifying  the
119              compile  unit  chains,  DIE relationships graph, address ranges,
120              and more.
121
122       --version
123              Display the version of the tool.
124
125       --debug-abbrev, --debug-addr, --debug-aranges, --debug-cu-index,  --de‐
126       bug-frame   [=<offset>],   --debug-gnu-pubnames,  --debug-gnu-pubtypes,
127       --debug-info [=<offset>], --debug-line  [=<offset>],  --debug-line-str,
128       --debug-loc  [=<offset>],  --debug-loclists [=<offset>], --debug-macro,
129       --debug-names,  --debug-pubnames,   --debug-pubtypes,   --debug-ranges,
130       --debug-rnglists,  --debug-str,  --debug-str-offsets, --debug-tu-index,
131       --debug-types [=<offset>], --eh-frame [=<offset>],  --gdb-index,  --ap‐
132       ple-names, --apple-types, --apple-namespaces, --apple-objc
133              Dump  the  specified DWARF section by name. Only the .debug_info
134              section is shown by default.  Some  entries  support  adding  an
135              =<offset>  as  a  way to provide an optional offset of the exact
136              entry to dump within the respective section. When an  offset  is
137              provided, only the entry at that offset will be dumped, else the
138              entire section will be dumped.
139
140              The --debug-macro option prints both the  .debug_macro  and  the
141              .debug_macinfo sections.
142
143              The  --debug-frame  and --eh-frame options are aliases, in cases
144              where both sections are present one command outputs both.
145
146       @<FILE>
147              Read command-line options from <FILE>.
148

FORMAT OF STATISTICS OUTPUT

150       The --statistics option generates single-line JSON output  representing
151       quality  metrics  of the processed debug info. These metrics are useful
152       to compare changes between two compilers, particularly for judging  the
153       effect that a change to the compiler has on the debug info quality.
154
155       The  output  is formatted as key-value pairs. The first pair contains a
156       version number. The following naming scheme is used for the keys:
157
158variables ==> local variables and parameters
159
160local vars ==> local variables
161
162params ==> formal parameters
163
164       For aggregated values, the following keys are used:
165
166sum_of_all_variables(...) ==> the sum applied to all variables
167
168#bytes ==> the number of bytes
169
170#variables - entry values ... ==> the number of variables  exclud‐
171            ing the entry values etc.
172

EXIT STATUS

174       llvm-dwarfdump returns 0 if the input files were parsed and dumped suc‐
175       cessfully. Otherwise, it returns 1.
176

SEE ALSO

178       dsymutil(1)
179

AUTHOR

181       Maintained by the LLVM Team (https://llvm.org/).
182
184       2003-2023, LLVM Project
185
186
187
188
18915                                2023-01-12                 LLVM-DWARFDUMP(1)
Impressum