1LLVM-DWARFDUMP(1) LLVM LLVM-DWARFDUMP(1)
2
3
4
6 llvm-dwarfdump - dump and verify DWARF debug information
7
9 llvm-dwarfdump [options] [filename ...]
10
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
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
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
158 • variables ==> local variables and parameters
159
160 • local vars ==> local variables
161
162 • params ==> formal parameters
163
164 For aggregated values, the following keys are used:
165
166 • sum_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
174 llvm-dwarfdump returns 0 if the input files were parsed and dumped suc‐
175 cessfully. Otherwise, it returns 1.
176
178 dsymutil(1)
179
181 Maintained by the LLVM Team (https://llvm.org/).
182
184 2003-2023, LLVM Project
185
186
187
188
18915 2023-07-20 LLVM-DWARFDUMP(1)