dwarfdump(1) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

dwarfdump(1)

DWARFDUMP()                                                        DWARFDUMP()

NAME
       dwarfdump - dumps DWARF debug information of an ELF object

SYNOPSIS
       dwarfdump [options] objectfilename

DESCRIPTION
       The  dwarfdump  command prints or checks DWARF sections as requested by
       specific options.  With no options (but with the  required  objectfile‐
       name ) all sections print (but some sections cannot be printed indepen‐
       dently  safely,  so  those  are  only printed at offsets where the .de‐
       bug_info section refers to those sections).

       For split-dwarf (DWARF5) object files see Split  Object  Files,  DWARF5
       section 7.3.


       Nearly  all  options  are  available in the traditional (single-letter)
       form and in a long-options form with meaningful names.  New options are
       only in the long-options form.


       With no options dwarfdump prints a basic set of DWARF section  informa‐
       tion.   If any option is given on the command line the basic set is ig‐
       nored and one must tell dwarfdump what to print or check  (for  example
       by adding the -a option).


       The  printing  options  and the checking options are mutually exclusive
       (if checking options are selected the section details are not printed).
       When errors are encountered dwarfdump does attempt to print  sufficient
       context  so  that  one can understand exactly where the error is in the
       DWARF.  This change makes checking really large object files much  eas‐
       ier.

       The  format  is intended to be human readable.  If a script is to parse
       the output, the --format-dense (-d) option is useful.

       DWARF expressions are broken out to print each  expression  (DW_OP_plus
       for  example)  in  a block on a separate line.  To restore the previous
       behavior, sort of like --format-dense but only applying  to  blocks  of
       DWARF  expression  operators (DW_OP*).  the --format-expr-ops-joined is
       useful.  If the option is placed in the dwarfdump.conf  file  (see  the
       file  itself for the format) it will apply without needing to put it on
       the command line.


       Not all sections actually exist in any given object file.

       The output format may change from release to release, so it  is  unwise
       to depend too heavily on the format.

       Frame  information (.debug_frame and .eh_frame) is heavily dependent on
       the ABI/ISA of the object file.  By default we use  a  generic  set  of
       register names handling up to 100 registers named r0-r99.

       There  are three different ways compiler writers separate the DWARF in‐
       formation from an executable/shared-object.  One is DWARF5 Split  Dwarf
       (the  --file-tied option is useful for these). Another is GNU debuglink
       (libdwarf automatically finds the DWARF when given the name of the exe‐
       cutable, use --no-follow-debuglink to suppress this and  make  possible
       printing the backtrace data in section .eh_frame).  The third way is on
       MacOS:  the debug DWARF is in a separate object (dwarfdump/libdwarf au‐
       tomatically find it if it is present, --no-follow-debuglink  suppresses
       this finding).  See also --suppress-debuglink-crc.

       In many cases one can get additional detail by specifying -v (sometimes
       -v -v gets even more, see the --verbose discussion below).  When print‐
       ing DIEs (Debugging Information Entries) the options -G (showing global
       offsets)  and -M (naming the DW_FORM* of attributes) (or their -- coun‐
       terparts) can be a great aid to understanding DWARF..

       The --format-registers (-R) option uses  a  built-in  generic  register
       name set handling up to 1200 registers named r0-r1199.

       The --file-abi=<abi> (-x abi=<abi>) description below shows how to name
       an  abi  and  use  that  to guide the --print-frame (-f) or --print-eh-
       frame (-F) processing.

       One of --print-frame (-f) or --print-eh-frame (-F) implies lots of  abi
       (register  names,  register  counts)  in the output, but sections other
       than frame sections may also need register names.


       Unless the cpu for the object file being dumped has many registers,  do
       not  use  --format-registers  or  -file-abi=<abi> as those can be need‐
       lessly slow dumping frame sections. Instead, use the correct abi (if it
       exists   in   dwarfdump.conf)   or   a   generic   such   as    --file-
       abi=abi=generic100 or --file-abi=abi=generic500
        .

       The  most useful abi choices are likely mips or x86 or x86_64 or ppc or
       arm
        .  Without --format-registers (-R)  or  -file-abi=<abi> (-x abi=<abi>)
       dwarfdump  uses  a  compiled-in  generic  set of register names.  If no
       --file-name=<path> (-x name=<path>)  is  given,  dwarfdump  looks   for
       "./dwarfdump.conf",   "$HOME/dwarfdump.conf",  "$HOME/.dwarfdump.conf",
       "<install-prefix>/lib/dwarfdump.conf" and takes  the  first  it  finds.
       Use  the --show-dwarfdump-conf option  to see what dwarfdump finds.  If
       one or more --file-name=<path> (-x name=<path>) is given  the  last  of
       these is used and all other such files are ignored.

       Some  checking  (  -k) options (See "Check DWARF Integrity" in the help
       output) print so-called harmless errors.   These  are  compiler  errors
       that  do not cause any known problem and are only detected inside libd‐
       warf itself.  These are difficult to properly report in  dwarfdump  and
       any  error  strings  may not appear close to the time the error was en‐
       countered.

       If zlib compression was used on the DWARF sections in the  object  file
       being  read the real section names such as .zdebug_info etc will be re‐
       ported by dwarfdump.  When dwarfdump says something is at offset 55  of
       .zdebug_info  (or the like) keep in mind that the offset applies to the
       uncompressed section (in memory), not the .zdebug_  compressed  section
       in objectfilename.

URI-STYLE INPUT STRINGS
       The  <objectfilename>  and all the options taking name strings look for
       URIs and translate the URI strings to characters by  default.   So  any
       single  %  character  is treated as if the following two characters are
       hex digits representing the underlying true character.  Various charac‐
       ters are meaningful to shells (such as bash or sh) and to getopt  (such
       as  the space character) If the URI translation does anything it prints
       the before and after of the URI translation on standard output, so  in‐
       spection  of  the  first lines of output will show if URI did anything.
       The actual options themselves are assumed to be non-URI.  So in the op‐
       tion --format-producer=S&T (-cS&T) the & character  might  cause  input
       issues  so --format-producer=S%26T should be used instead.  To actually
       input a single % character (in a name, for example), double it to %% on
       the command line (or use %25).

       Options --format-suppress-uri (-U) (turning off URI interpretation) and
       --format-suppress-uri-msg (-q) (making finding  URI  sequences  silent)
       give finer control of URI interpretation.

       As  an example, to get a string 'a b' make the string 'a%20b' (here the
       quote (') is for exposition not part of the  string,  though  quote  is
       certainly  problematic in a name).  Instead of escaping " quotes in the
       string, type %25, as in 'a "b' should be typed 'a%20%25b'.  Any charac‐
       ters can be typed in URI style, not just characters which are  problem‐
       atic  to  the  shell  or getopt.  We strongly suggest you not type URI-
       style characters where such are not needed or use the %  character  it‐
       self in command line strings unless you must.

URI-STYLE OUTPUT (printing)
       Dwarfdump  translates  any characters in strings which are not ordinary
       printable ASCII (and some which are ASCII) in the reverse of the previ‐
       ous section.  It prints into a uri-style output in the form %xx,  where
       xx  are  hex  digits in the form of ASCII 0-9a-0f.  The percent charac‐
       ter(%) is printed as '%25'

       This is a clumsy way to deal with UTF-8 strings  and  sensible  way  to
       deal  with the low ASCII values that on many systems cause one's termi‐
       nal to behave oddly. Such translations are not idempotent so  dwarfdump
       avoids  doing the translation more than once on any string.  See option
       --format-suppress-sanitize below to eliminate  the  output  transforma‐
       tion.


PRINTING OPTIONS
       --print-all (-a)
              Print  each  section as independently as possible. Sections that
              can safely be printed independently  (like  .debug_abbrev)  have
              relevant info printed in the report (sometimes dependent on -v).


       --print-abbrev (-b)
              Print  the  .debug_abbrev  section. Because the DWARF specifica‐
              tions do not rule out garbage data areas  in  .debug_abbrev  (if
              they  are not referenced from .debug_info) any garbage bytes can
              result in this print failing.


       --print-loc (-c)
              Print locations lists.


       --print-debug-gnu
              Print  the  .debug_gnu_pubnames  and  .debug_gnu_typenames  sec‐
              tions.


       --print-fission
              Print  the .gdb_index, .debug_cu_index,
               .debug_tu_index, .gnu.debuglink,
                and .note.gnu.build-id sections.


       --print-gnu-debuglink
              Print .gnu_debuglink and .note.gnu.build-id sections


       --suppress-debuglink-crc
              Tell  libdwarf to avoid calculating debuglink crc values, saving
              some runtime at startup and removing a  useful  check.  However,
              finding alternate debuglink or buildid files remains enabled.


       --no-follow-debuglink
              Tells  dwarfdump  and  libdwarf  not  to  pay  any  attention to
              .gnu.debuglink or .gnu.note.buildid or Macos dSYM  references.


       --print-frame (-f)
              Print the .debug_frame section.

       --print-eh-frame (-F)
              Print the GNU .eh_frame section.


       --print-info (-i)
              Print the .debug_info section.


       --print-fission (-I)
              Print any .gdb_index, .debug_cu_index, and .debug_tu_index  sec‐
              tions that exist in the object.


       --print-gnu-debuglink
              If the .gnu_debuglink section is present its content is printed.
              If  the  .note.gnu.build-id  section  is  present its content is
              printed.  If a DWARF containing file named by the content of the
              .gnu_debuglink section exists the name will be printed.


       --print-lines (-l)
              Print the .debug_info section and the  associated  line  section
              data.

       --print-lines-short (-ls)
              Print  the  .debug_info  section and the associated line section
              data, but omit the <pc> address.  Useful when  a  comparison  of
              line sections from objects with slight differences is required.


       --print-macinfo (-m)
              Print the .debug_macinfo (DWARF 2,3,4) and .debug_macro (DWARF5)
              sections.  The  .debug_macro  reporting  may show output labeled
              MACRONOTES, mentioning macro content that might be questionable.
              See also --check-macros (-kw).


       --print-ranges (-N)
              Print .debug_ranges section.  Because the  DWARF  specifications
              do not rule out garbage data areas in .debug_ranges (if they are
              not referenced from .debug_info) any garbage bytes can result in
              this print failing.


       --print-pubnames (-p)
              Print the .debug_pubnames section.


       --print-str-offsets
              Print the .debug_str_offsets section.


       --print-aranges (-r)
              Print the .debug_aranges section.

       --print-strings (-s)
              Print .debug_string section.


       --print-static (-ta)
              Print the IRIX only sections .debug_static_funcs and .debug_sta‐
              tic_vars.


       --print-type (-y)
              Print  the .debug_pubtypes section (and .debug_typenames, an SGI
              IRIX-only section).


       --version (-V)
              Print a dwarfdump date/version string and stop.


CHECKING OPTIONS
       --check-all (-ka)
              Turns  on  all   checking   options   except   --check-frame-ex‐
              tended (-kxe)  (which might be slow enough one might not want to
              use it routinely.)


       --check-abbrev (-kb)
              Checks for certain abbreviations  section  errors  when  reading
              DIEs.


       --check-macros (-kw)
              Checks  for  issues in DWARF5 .debug_macro and identifies issues
              that might be questionable but not necessarily errors  with  the
              string MACRONOTES (and reports some MACRONOTES that --print-mac‐
              info  will  not  show).  It also checks .debug_macinfo, but less
              thoroughly and never emits MACRONOTES for  .debug_macinfo.   See
              also     --print-macinfo (-m).      (regrettably    inconsistent
              spelling...).


       --check-constants (-kc)
              Checks for errors in constants in debug_info.


       -check-show (-kd)
              Turns on full reporting of error totals per producer.  (the  de‐
              fault shows less detail).

       --check-silent-ks
              Turns off some verbose checking detection.


       --check-attr-dup (-kD)
              Turns on reporting of duplicated attributes.  Duplicated attrib‐
              utes  on  a  single  DW_TAG are improper DWARF, but at least one
              compiler emitted such.

       --check-pubnames (-ke)
              Turns on reading pubnames and checking for fde errors.

       --check-frame-info (-kf)
              Turns on checking for FDE errors (.debug_frame and .eh_frame).

       --check-files-lines (-kF)
              Turns on checking for line table errors.

       --check-gaps (-kg)
              Turns on checking for unused gaps in .debug_info (these gaps are
              not an error, just a waste of space).

       --check-unique (-kG)
              Print only unique errors. Error lines are simplified  (hex  num‐
              bers removed, for example) and when a given message string would
              otherwise appear again it is suppressed.

       --check-summary (-ki)
              Causes  a summary of checking results per compiler (producer) to
              be printed at the end.


       --check-loc (-kl)
              Turns on locations list checking.

       --check-ranges (-km)
              Turns on checking of ranges.

       --check-aranges (-kM)
              Turns on checking of aranges.


       --check-tag-attr (-kr)
              Turns on DIE tag-attr combinations checking,  looking  for  sur‐
              prising  attributes  for DIE tags.  Prints a DWARF-CHECK message
              for each such found.  It does not report  common  extensions  as
              errors.   A  summary of usage is printed at the end.  Common ex‐
              tensions to the standard are allowed as if standard.  See the -C
              (--format-extensions) option to show common extensions as DWARF-
              CHECK messages.  See -kuf (--check-usage-extended) to add  addi‐
              tional details to the summary report.


       --check-usage (-ku)
              The  same  as -kr except only the summary is printed at the end,
              the detailed DWARF-CHECK messages per instance are not printed.


       --check-attr-encodings (-kE)
              Checks the integer encoding representation of constant FORMs  in
              debug_info,  computing whether these integer values could fit in
              fewer bytes if represented in LEB128 and reports the space  sav‐
              ing that would achieve.


       --check-forward-refs (-kR)
              Turns on reading DIEs and checking for forward declarations from
              DW_AT_specification attributes.  (which are not an error but can
              be a source of inefficiency for debuggers).

       --check-self-refs (-kS)
              Turns on checking DIE references for circular references.

       --check-tag-tag (-kt)
              Turns  on  tag-tag combinations checking, looking for surprising
              parent-child DIE relationships.  It does not report  common  ex‐
              tensions  as  errors.  Common extensions to the standard are al‐
              lowed as if standard.  See the -C  (--format-extensions)  option
              to show common extensions as errors.


       --check-frame-basic (-kx)
              Turns on basic frames checking for .debug_frame and .eh_frame).

       --check-frame-extended (-kxe)
              Turns  off basic check_frames and turns on extended frame check‐
              ing for .debug_frame and .eh_frame.  This option can be slow.


       --check-type (-ky)
              Turns on type_offset checking (ensuring local attribute  offsets
              refer to what they should) and  that  DW_AT_decl_file  and  some
              other offsets refer to appropriate locations.


OPTION MODIFIERS
       --format-extensions (-C)
              This  is  a  secondary  option  after  --check-tag-tag (-kt)  or
              --check-tag-attr (-kr) or Normally when checking for tag-tag  or
              tag-attribute  combinations  both  the standard combinations and
              some common extensions are allowed (not  reported).   With  this
              option the extensions are taken out of the class of allowed com‐
              binations.


       -kuf (--check-usage-extended)
              This  modifies  --check-tag-attr (-kr) or --check-usage (-ku) to
              print additional details in the summary.  Add the -kuf (--check-
              usage-extended) before or after the option it modifies.


       --format-dense (-d)
              When printing DIEs, put all the attributes for each DIE  on  the
              same (long) line as the TAG. This makes searching for DIE infor‐
              mation  (as  with grep) much simpler as the entire DIE is on one
              line.


       --format-suppress-offsets (-D)
              Turns off the display of section offsets and attribute values in
              printed output.  So the .debug_info output is just TAGs and  At‐
              tributes.   For  pubnames (and the like) it removes offsets from
              the output.  For locations lists it  removes  offsets  from  the
              output,  but  that  is  useless since the attribute values don't
              show so neither does the location data.


       --format-ellipsis (-e)
              Turns on truncation of attribute  and  tag  names.  For  example
              DW_TAG_foo  becomes foo. Not compatible with checking, only use‐
              ful for printing DIEs.


       --format-global-offsets (-G)
              When printing, add global offsets to the offsets printed.


       --format-limit=<num> (-H number)
              When printing  or  checking  .debug_info,  this  terminates  the
              search after 'number' compilation units. When printing frame in‐
              formation  this terminates the FDE reporting after 'number' FDEs
              and the CIE reporting (which occurs if one adds -v) after  'num‐
              ber' CIEs. Example '--format-limit=1'


       --format-attr-name (-M)
              When  printing,  show  the  FORM for each attribute.  If a -v is
              added (or more than one) then details of  any  form  indirection
              are also shown.


       --format-suppress-lookup (-n)
              When  printing  frames,  this  turns off the search for function
              names in inner scopes.  Unless the language used  to  build  the
              object  file supports function definitions in inner scopes there
              is no point in looking for function names in inner scopes.   And
              a  really  large  object  the search can take more time than one
              wants to wait.  This option suppresses the inner scope search.


       --file-output=<path> (-Ofile=<path>)
              The <path> will be used as the file name for output  instead  of
              writing to stdout (stdout is the default).


       --format-suppress-data (-Q)
              Suppresses  section  data  printing  (set  automatically  with a
              checking option).


       --format-suppress-sanitize
              Suppresses the default string-printing translations so non-ascii
              and non-printable characters from the object  file  are  printed
              as-is.  See "URI-STYLE OUTPUT" above.


       --format-suppress-uri (-U)
              Suppresses  the  default URI translation of following options on
              the command line.  See "URI-STYLE INPUT STRINGS" above.


       --format-registers (-R)
              When printing frames for ABIs with lots of registers,  this  al‐
              lows up to 1200 registers to be named (like R999) without choos‐
              ing  an  ABI  with,  for  example '-x abi=ppc' or, equivalently,
              '--file-abi=ppc'


       --verbose (-v)
              Increases the detail shown when printing.  In some sections, us‐
              ing more -v options will increase the detail (one  to  four  are
              useful)  or  may change the report to show, for example, the ac‐
              tual line-data-commands instead  of  the  resultant  line-table.
              Two  to four -v options make a difference when printing DIEs and
              rnglists (-i), lines (-l), frames (-f,-F), gdb_index(-I).  Addi‐
              tional -v beyond four do not currently add-to or change the out‐
              put.

       --show-dwarfdump-conf
              Shows what files are checked to find a  dwarfdump.conf  and  its
              register naming tables.


LIMITING OUTPUT
       The  simplest limiting option is to stop the examination/printing after
       <num> compilation units.  See -H and  --format-limit above.   This  op‐
       tion  also  limits  the  number  of FDEs and CIEs printed from any .de‐
       bug_frame or .eh_frame section.


       The --search (-S) options print information about the compilation  unit
       and  DIE  where  the  string(s)  appear.  These cannot be combined with
       other options.  At most one of each of the following is  effective  (so
       for  example one can only have one 'match', but one can have a 'match',
       an 'any', and a 'regex').  Any --search  (-S)  causes  the  .debug_info
       section  to  be  inspected.   No  checking  options or printing options
       should be supplied with --search(-S) options.  The strings  should  use
       URI-style  to avoid any conflicts with the command-line parser applica‐
       ble (bash, sh, ...)  or getopt(), as well as using  URI  to  deal  with
       searching  for  strings  in non-ASCII such as French, (etc) or the now-
       nearly-universal UTF8.  The regex implementation only allows  ASCII  in
       the  expression  and  the expression only handles basic regular expres‐
       sions, which are like Posix Basic Regular Expressions (PBRE),  but  the
       ()  grouping construct in PBRE seems unnecessary here so we suggest not
       using () grouping

       These are particularly useful when the amount of DWARF information out‐
       put by -i is multiple gigabytes of data.

       If -Sv used instead of -S , the number of occurrences is printed.  (see
       below for an example).


       --search-match=<string> (-Smatch=string)

       --search-match-count=<string> (-Svmatch=string)
              When printing DIEs for each tag value  or  attribute  name  that
              matches  'string' exactly print the compilation unit information
              and its section offset.  Any CU with no match  is  not  printed.
              The  'string'  is read as a URI string.  The count (Sv) form re‐
              ports the count of occurrences.


       --search-any=<string> (-Sany=string)

       --search-any-count=<string> (-Svany=string)
              When printing DIEs for each tag value  or  attribute  name  that
              contains 'string' somewhere in the tag or attribute (case insen‐
              sitive)  print  the compilation unit information and its section
              offset.  Any CU with no match is not printed.  The  'string'  is
              read  as a URI string.  The count (Sv) form reports the count of
              occurrences.


       --search-regex=string (-Sregex=string)

       --search-regex-count=string (-Svregex=string)
              When printing DIEs for each tag value or  attribute  name  where
              the  'string'  regular  expression matches print the compilation
              unit information and its section offset.  Any CU with  no  match
              is  not  printed.   The  'string'  is read as a URI string.  The
              count (Sv) form reports the count of occurrences.


       The string cannot have spaces or other characters which are  meaningful
       to  getopt(3) and the shell will strip off quotes and other characters.
       So the string is assumed to be in URI  style  and  is  translated.   In
       other  words,  to match 'a b' make the -S string 'a%20b' Instead of es‐
       caping " quotes in the string, type %25, as in
        'a "b' should be typed 'a%20%25b' (the ' are for exposition here,  not
       part  of  the  strings).  Any characters can be typed in URI style, not
       just characters which are problematic to the shell or getopt.

       The --search-any (-Sany) and --regex-any (-Sregex) options are only us‐
       able if regular-expression library functions required are found at con‐
       figure time.

       The --search-print (-W) option is a modifier to the -S option, and  in‐
       creases  the  amount of output -S prints.  An example v modifier to the
       -S option is shown below.  And we show the -W in context with a -S  op‐
       tion.


       --search-match-count=string
              Prints information about the DIEs that -S matches and prints the
              count of occurrences.


       -S match=string1 -W


       --search-match=string1 --search-print-tree
              Prints  the  parent tree and the children tree for the DIEs that
              --search-match  matches.


       -S match=string2 -Wp


       --search-match=string2 --search-print-parent
              Prints the parent tree for the DIEs that -S matches.


       -S match=string3 -Wc

       --search-match=string3 --search-print-children
              Prints the children tree for the DIEs that -S matches.


       --format-gcc (-cg)
              Restricts printing/checking to compilers whose  producer  string
              starts with 'GNU' and turns off -cs.


       --format-snc (-cs)
              Restricts  printing/checking  to compilers whose producer string
              starts with 'SN' and turns off -cg.


       --format-producer=<name> (-c<name>)
              Restricts printing/checking to compilers whose  producer  string
              contains  'name'  (not case sensitive).  The 'name' is read as a
              URI string.



OTHER OPTIONS
       -x name=<path>

       --file-name=/p/a/t/h.conf (-xname=/p/a/t/h.conf)
              The file path given is the name of a file assumed to be a dwarf‐
              dump.conf-like file.  The file path is read as a URI string.


       -x abi=ppc

       --file-abi=ppc
              Selects the abi (from a  dwarfdump.conf  file)  to  be  used  in
              printing  frame information (here using ppc as an example).  The
              abi is read as a URI string.


       --format-group-number=<n> (-x groupnumber=<n>)
              For an object file with both DWARF5 split dwarf (.debug_info.dwo
              for example)  and ordinary DWARF sections (.debug_info for exam‐
              ple) in the single object file one must use  --format-group-num‐
              ber=2 to print the dwo sections.  Adding --file-tied=<path> nam‐
              ing  the  object file ties in the non-dwo skeleton sections (the
              <path> is to the skeleton object file when the main object  file
              is dwo/dwp).


       -x tied=/t/i/depath

       --file-tied=/t/i/depath
              Used  when  opening  a  main object that is a .dwo or .dwp file.
              For example if /path/to/myapp.dwp is the split-dwarf object  and
              /path/to/myapp   is   the   executable,  do  "dwarfdump  --file-
              tied=/path/to/myapp /path/to/myapp.dwp"  .  The tied  file  path
              names  the executable which has the .debug_addr section that may
              be referred to from the main object. See Split Objects (aka  De‐
              bug  Fission)  in the DWARF5 standard.  This cannot be used with
              MacOS debug or GNU debuglink, such files do  not  have  a  Split
              Dwarf object file.


       -x line5=s2l

       --file-line5=s2l
              Normally  used  only  to  test libdwarf interfaces.  There are 4
              different interface function sets and to ensure  they  all  work
              this  option lets us choose which to use.  The options are 's2l'
              (default, Allows standard and two-level line  tables  using  the
              latest interface functions), 'std' (Allows standard single level
              line  tables  using the latest interface functions), 'orig' (al‐
              lows DWARF2,3,4 original line tables using  an  older  interface
              function  set),  'orig2l'  (allows original line tables and some
              two-level line tables using an older interface set).


       --print-producers
              -P When checking this adds the list  of  compilation-unit  names
              seen for each producer-compiler to the printed checking results.

       -q

       --format-suppress-uri-msg
              When  a  URI  is  found and translated while reading the command
              line, be quiet about the URI translation. That is,  don't  print
              the original and translated option strings.


       -u cuname

       --format-file=<file>
              Turns  on  selective  printing of DIEs (printing like -i).  Only
              the DIEs for a compilation unit that match the name provided are
              printed.  If the compilation unit is ./a/b/c.c the 'cuname'  you
              provide  should be c.c as the characters through the final path-
              separating / are ignored.  If 'cuname' begins with a / then  the
              entire  name  string  of a compilation unit must match 'cuname'.
              The 'file' is read as a URI string.


       -U

       --format-suppress-uri
              Turn off the URI interpretation of the command line strings  en‐
              tirely.  Must  be  be on the command line before any URI strings
              encountered to be fully  effective.   Likely  something  no  one
              needs to do.


       -h

       --help Show this man page.

SPLIT DWARF
       With  Split  Dwarf (DWARF5) the main body of the DWARF is in a separate
       file, often having the name suffix .dwp or .dwo .

       For  example  if  /path/to/myapp.dwp  is  the  split-dwarf  object  and
       /path/to/myapp    is    the    executable,    do   "dwarfdump   --file-
       tied=/path/to/myapp /path/to/myapp.dwp"  .  The tied  file  path  names
       the  executable  which  has  the .debug_addr section and other sections
       that may be referred to from the .dwo/.dwp object.

       See Split Object Files (sometimes called Debug Fission) in  the  DWARF5
       standard, section 7.3.


FILES
       dwarfdump

        ./dwarfdump.conf

       $(HOME)/.dwarfdump.conf

       $(HOME)/dwarfdump.conf

       <install-prefix>/lib/dwarfdump.conf


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       box; cbp-1 | cbp-1 l | l .  ATTRIBUTE TYPE ATTRIBUTE VALUE = Availabil‐
       ity   library/libdwarf = Stability Volatile

NOTES
       In  some  cases  compilers  use DW_FORM_data1 (for example) and in such
       cases the signedness of the value must be taken from  context.   Rather
       than  attempt to determine the context, dwarfdump prints the value with
       both signedness whenever there is ambiguity about the correct interpre‐
       tation.  For  example,  "DW_AT_const_value            176(as  signed  =
       -80)".   For  normal  DWARF consumers that correctly and fully evaluate
       all attributes there is no ambiguity of signedness: the  ambiguity  for
       dwarfdump is due to dwarfdump evaluating DIEs in a simple order and not
       keeping track of much context.

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at:
       https://github.com/oracle/solaris-userland

       The original community source was downloaded from:
       https://www.prevanders.net/libdwarf-0.7.0.tar.xz

       Further information about this software can be found on the open source
       community website at https://www.prevanders.net/dwarf.html.

BUGS
       Support for printing certain DWARF5 location expressions is incomplete.
       Report problems to libdwarf-list -at- linuxmail -dot- org


                                                                   DWARFDUMP()
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3