|
1 .TH DWARFDUMP |
|
2 .SH NAME |
|
3 dwarfdump \- dumps DWARF debug information of an ELF object |
|
4 .SH SYNOPSIS |
|
5 .B dwarfdump |
|
6 [-abcdefilmoprsvy] [-t{afv}] [-u\f2objectfile\fP] \f2filename\fP |
|
7 .SH DESCRIPTION |
|
8 The |
|
9 .B dwarfdump |
|
10 command prints DWARF sections as requested by specific options. |
|
11 With no options nothing prints! |
|
12 .PP |
|
13 The format is intended to be human readable. |
|
14 If a script is to parse the output, the |
|
15 .B \-d |
|
16 option is useful. |
|
17 .P |
|
18 Not all sections actually exist in any given object file. |
|
19 .P |
|
20 The format may change from release to release, so it is |
|
21 unwise to depend too heavily on the format. |
|
22 .P |
|
23 .PP |
|
24 Frame information (.debug_frame and .eh_frame) is heavily |
|
25 dependent on the ABI/ISA of the object file. |
|
26 The '-R' option uses a built-in 'generic' register name set |
|
27 handling up to 1000 registers named r0-r999. |
|
28 The '-x abi=<abi>' |
|
29 flavors below describe how to name an abi and use that to guide |
|
30 the -f or -F processing. |
|
31 Without '-R' or '-x abi=<abi>'/ dwarfdump ignores |
|
32 the dwarfdump.conf file and uses compiled-in MIPS/IRIX |
|
33 conventions). |
|
34 If no '-x name=<path>' is given, dwarfdump |
|
35 looks for "./dwarfdump.conf", "$HOME/.dwarfdump.conf", "<install-prefix>/lib/dwarfdump.conf" and takes the first it finds. |
|
36 If one or more '-x name=<path>' is given the last of these is |
|
37 used and all other such files ignored. |
|
38 .PP |
|
39 The |
|
40 .B dwarfdump |
|
41 command accepts one or more of the following options: |
|
42 .RS |
|
43 .TP |
|
44 .B \-a |
|
45 Dumps all sections. |
|
46 Same as |
|
47 .B \-bcfilmoprsy |
|
48 .BR \-tfv . |
|
49 .TP |
|
50 .B \-b |
|
51 Dumps the .debug_abbrev section. |
|
52 .TP |
|
53 .B \-c |
|
54 Dumps the .debug_loc section. |
|
55 .TP |
|
56 .B \-d |
|
57 Dense mode. Each die information of the .debug_info section is |
|
58 printed in one-line format. This option does not imply \fB\-i\fP. |
|
59 .TP |
|
60 .B \-e |
|
61 Ellipsis mode. Short names for DW_TAG_* and DW_ATTR_* are used |
|
62 in the output for the .debug_info section. |
|
63 .TP |
|
64 .B \-f |
|
65 Dumps the .debug_frame section. |
|
66 .TP |
|
67 .B \-i |
|
68 Dumps the .debug_info section. |
|
69 .TP |
|
70 .B \-l |
|
71 Dumps the .debug_line information. |
|
72 .TP |
|
73 .B \-m |
|
74 Dumps the .debug_macinfo section. |
|
75 .TP |
|
76 .B \-o |
|
77 Dumps the .reloc_debug_* sections. |
|
78 .TP |
|
79 .B \-p |
|
80 Dumps the .debug_pubnames section. |
|
81 .TP |
|
82 .B \-r |
|
83 Dumps the .debug_aranges section. |
|
84 .TP |
|
85 .B \-s |
|
86 Dumps .debug_string section. |
|
87 .TP |
|
88 .B \-ta |
|
89 Same as |
|
90 .B \-tfv. |
|
91 .TP |
|
92 .B \-tf |
|
93 Dumps the .debug_static_funcs section. |
|
94 .TP |
|
95 .B \-tv |
|
96 Dumps the .debug_static_vars section. |
|
97 .TP |
|
98 .BI \-u ofile |
|
99 Restricts the dumping of sections to the named |
|
100 compilation unit. |
|
101 .TP |
|
102 .B \-v |
|
103 Verbose mode. Shows more detailed information. |
|
104 More detailed information about the .debug_frame section prints if |
|
105 2 or 3 |
|
106 .B \-v |
|
107 options are given. |
|
108 .TP |
|
109 .B \-w |
|
110 Dumps the .debug_weaknames section. |
|
111 .TP |
|
112 .B \-x abi=<conf> |
|
113 where abi=names an abi in dwarfdump.conf (see the |
|
114 abiname: command in dwarfdump.conf). |
|
115 .TP |
|
116 .B \-x name=<conf> |
|
117 where name=names the full pathname of a dwarfdump configuration |
|
118 file. Default install location is /usr/local/lib/dwarfdump.conf. |
|
119 dwarfdump looks first for local ./dwarfdump.conf, then |
|
120 for $HOME/.dwarfdump.conf then for /usr/local/lib/dwarfdump.conf. |
|
121 The predefined abi names in dwarfdump.conf are |
|
122 generic, ia64, m68k, x86, and x86_64. |
|
123 .TP |
|
124 .B \-y |
|
125 Dumps the .debug_types section. |
|
126 .SH FILES |
|
127 dwarfdump |
|
128 ./dwarfdump.conf |
|
129 $(HOME)/.dwarfdump.conf |
|
130 <install-prefix>/lib/dwarfdump.conf |
|
131 .SH NOTES |
|
132 In some cases compilers use DW_FORM_data1 (for example) |
|
133 and in such cases the signedness of the value must be taken |
|
134 from context. Rather than attempt to determine the |
|
135 context, dwarfdump prints the value with both signednesses |
|
136 whenever there is ambiguity about the correct interpretation. |
|
137 For example, |
|
138 "DW_AT_const_value 176(as signed = -80)". |
|
139 For normal DWARF consumers that correctly and fully |
|
140 evaluate all attributes there is no ambiguity of signedness: |
|
141 the ambiguity for dwarfdump is due to dwarfdump evaluating |
|
142 DIEs in a simple order and not keeping track of much context. |
|
143 .SH BUGS |
|
144 Support for DWARF3 is being completed but may not be complete. |