annotate docs/CommandGuide/llvm-dwarfdump.rst @ 124:4fa72497ed5d

fix
author mir3636
date Thu, 30 Nov 2017 20:04:56 +0900
parents 803732b1fca8
children c2174574ed3a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
1 llvm-dwarfdump - dump and verify DWARF debug information
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
2 ========================================================
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 SYNOPSIS
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 --------
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
121
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
7 :program:`llvm-dwarfdump` [*options*] [*filename ...*]
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 DESCRIPTION
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 -----------
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
121
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
12 :program:`llvm-dwarfdump` parses DWARF sections in object files,
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
13 archives, and `.dSYM` bundles and prints their contents in
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
14 human-readable form. Only the .debug_info section is printed unless one of
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
15 the section-specific options or :option:`--all` is specified.
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 OPTIONS
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 -------
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
121
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
20 .. option:: -a, --all
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
21
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
22 Disassemble all supported DWARF sections.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
23
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
24 .. option:: --arch=<arch>
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
25
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
26 Dump DWARF debug information for the specified CPU architecture.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
27 Architectures may be specified by name or by number. This
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
28 option can be specified multiple times, once for each desired
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
29 architecture. All CPU architectures will be printed by
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
30 default.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
31
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
32 .. option:: -c, --show-children
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
33
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
34 Show a debug info entry's children when using
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
35 the :option:`--debug-info`, :option:`--find`,
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
36 and :option:`--name` options.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
37
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
38 .. option:: -f <name>, --find=<name>
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
39
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
40 Search for the exact text <name> in the accelerator tables
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
41 and print the matching debug information entries.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
42 When there is no accelerator tables or the name of the DIE
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
43 you are looking for is not found in the accelerator tables,
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
44 try using the slower but more complete :option:`--name` option.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
45
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
46 .. option:: -F, --show-form
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
47
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
48 Show DWARF form types after the DWARF attribute types.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
49
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
50 .. option:: -h, --help
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
51
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
52 Show help and usage for this command.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
53
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
54 .. option:: -i, --ignore-case
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
55
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
56 Ignore case distinctions in when searching entries by name
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
57 or by regular expression.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
58
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
59 .. option:: -n <pattern>, --name=<pattern>
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
60
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
61 Find and print all debug info entries whose name
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
62 (`DW_AT_name` attribute) matches the exact text in
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
63 <pattern>. Use the :option:`--regex` option to have
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
64 <pattern> become a regular expression for more flexible
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
65 pattern matching.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
66
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
67 .. option:: --lookup=<address>
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
68
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
69 Lookup <address> in the debug information and print out the file,
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
70 function, block, and line table details.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
71
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
72 .. option:: -o <path>, --out-file=<path>
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
73
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
74 Redirect output to a file specified by <path>.
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
121
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
76 .. option:: -p, --show-parents
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
77
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
78 Show a debug info entry's parent objects when using the
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
79 :option:`--debug-info`, :option:`--find`, and
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
80 :option:`--name` options.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
81
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
82 .. option:: -r <n>, --recurse-depth=<n>
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
83
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
84 Only recurse to a maximum depth of <n> when dumping debug info
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
85 entries.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
86
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
87 .. option:: --statistics
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
88
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
89 Collect debug info quality metrics and print the results
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
90 as machine-readable single-line JSON output.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
91
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
92 .. option:: -x, --regex
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
93
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
94 Treat any <pattern> strings as regular expressions when searching
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
95 instead of just as an exact string match.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
96
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
97 .. option:: -u, --uuid
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
98
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
99 Show the UUID for each architecture.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
100
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
101 .. option:: --diff
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
102
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
103 Dump the output in a format that is more friendly for comparing
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
104 DWARF output from two different files.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
105
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
106 .. option:: -v, --verbose
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
107
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
108 Display verbose information when dumping. This can help to debug
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
109 DWARF issues.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
110
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
111 .. option:: --verify
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
112
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
113 Verify the structure of the DWARF information by verifying the
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
114 compile unit chains, DIE relationships graph, address
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
115 ranges, and more.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
116
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
117 .. option:: --version
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
118
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
119 Display the version of the tool.
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
120
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
121 .. 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
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
122
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
123 Dump the specified DWARF section by name. Only the
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
124 `.debug_info` section is shown by default. Some entries
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
125 support adding an `=<offset>` as a way to provide an
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
126 optional offset of the exact entry to dump within the
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
127 respective section. When an offset is provided, only the
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
128 entry at that offset will be dumped, else the entire
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
129 section will be dumped. Children of items at a specific
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
130 offset can be dumped by also using the
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
131 :option:`--show-children` option where applicable.
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 EXIT STATUS
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 -----------
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
136 :program:`llvm-dwarfdump` returns 0 if the input files were parsed and dumped
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
137 successfully. Otherwise, it returns 1.
121
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
138
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
139 SEE ALSO
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
140 --------
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
141
803732b1fca8 LLVM 5.0
kono
parents: 95
diff changeset
142 :manpage:`dsymutil(1)`