利用dwarfdump命令和dsym文件链接binary image,查看crash log中...


利用dwarfdump命令和dsym文件链接binary image,查看crash log中...
 
首先需要打包的dsym文件,然后在终端中输入命令:
 
1
$ dwarfdump --lookup=ADDRESS --arch=ARCH {MyApp.app.dsym}
001
NAME
002
    dwarfdump -- dump DWARF debug information.
003
 
004
SYNOPSIS
005
    dwarfdump [options] file1 file2 ...
006
 
007
DESCRIPTION
008
    For each operand that names a mach-o or 32 bit ELF file, dwarfdump
009
    disassembles the DWARF data found within the file. Only the .debug_info
010
    section is disassembled unless one of the --debug-XXXX or --all options
011
    are specified.
012
 
013
    The following options are available:
014
 
015
    -a, --all
016
        Dump disassembly of all DWARF sections -- by default only the
017
        .debug_info section is disassembled, or individual sections can be
018
        specified by using the --debug-XXXX options.
019
 
020
    --arch=ARCH
021
        Dump DWARF debug information for the specified CPU architecture.
022
        Architectures may be specified by name or by number.  This option
023
        can be specified multiple times, once for each desired
024
        architecture. All architectures will be disassembled by default.
025
 
026
    -c, --show-children
027
        Show a DIE's children when using the --debug-info=OFFSET, --find,
028
        and --name options.
029
 
030
    --eh-frame[=SECTION]
031
        Dump exception handling frame information from the optional SECTION
032
        parameter. The __eh_frame section will be dumped by default.
033
 
034
    -e, --english
035
        Print dwarf tags and attributes in a more readable format instead
036
        of using the DWARF TAG_ and AT_ definitions.
037
 
038
    --file-stats[=size]
039
        Show file composition statistics for any input files. Each file's
040
        contents are analyzed and broken down into byte counts for the
041
        following categories: symbol table, string table, text and code,
042
        DWARF debug information, STABS debug information, and other. When
043
        multiple files are specified, byte count totals for each category
044
        will be displayed at the end of the table.  Specify the optional
045
        'size' argument to show all byte count results using unit suffixes:
046
        Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte. This
047
        option can be useful in tracking the size and makeup of mach-o
048
        binary files, and also allows easy comparison between DWARF and
049
        STABS built binaries and related object files.
050
 
051
    -f PATTERN, --find=PATTERN
052
        Search for the exact text PATTERN in the .debug_pubnames section
053
        and print the matching debug information entries. Use the --regex
054
        option to have PATTERN become a regular expression for more
055
        flexible pattern matching.
056
 
057
        When there is no .debug_pubnames section or the name of the DIE you
058
        are looking for is not found in the .debug_pubnames section, try
059
        using the slower but more complete --name option.
060
 
061
    -F, --show-form
062
        Show DWARF form types after the DWARF attribute types.
063
 
064
    -h, -?, --help
065
        Show help and usage for this command.
066
 
067
    -i, --ignore-case
068
        Ignore case distinctions in when finding by name using strings or
069
        regular expressions.
070
 
071
    -n PATTERN, --name=PATTERN
072
        Find and print all DIE entries whose name (DW_AT_name attribute)
073
        matches the exact text in PATTERN. Use the --regex option to
074
        have PATTERN become a regular expression for more flexible pattern
075
        matching.
076
 
077
    --lookup=ADDRESS
078
        Lookup ADDRESS in the debug information and print out any available
079
        file, function, block and line table details.
080
 
081
    -o PATH, --out-file=PATH
082
        Redirect output to a file specified by PATH.
083
 
084
    -p, --show-parents
085
        Show a DIE's parents when using the --debug-info=OFFSET, --find,
086
        and --name options.
087
 
088
    -r N, --recurse-depth=N
089
        Only recurse to a child depth of N when displaying the DWARF
090
        information.
091
 
092
    -u, --uuid
093
        Show the UUID for each architecture.
094
 
095
    -x, --regex
096
        Treat any PATTERN strings as regular expressions when searching
097
        instead of just as an exact string match.
098
 
099
    -v, --verbose
100
        Display verbose information when dumping. This can help to debug
101
        DWARF issues.
102
 
103
    --verify
104
        Verify the structure of the DWARF information by verifying the
105
        compile unit chains, die relationships graph, and address ranges.
106
 
107
    --version
108
        Display the current version and build date of the dwarfdump binary.
109
 
110
    --debug-abbrev
111
    --debug-aranges
112
    --debug-frame[=OFFSET]
113
    --debug-info[=OFFSET]
114
    --debug-inlined
115
    --debug-line[=OFFSET]
116
    --debug-macinfo[=OFFSET]
117
    --debug-pubnames[=PATTERN]
118
    --debug-pubtypes[=PATTERN]
119
    --debug-str
120
    --apple-names[=PATTERN]
121
    --apple-types[=PATTERN]
122
    --apple-namespaces[=PATTERN]
123
    --apple-objc[=PATTERN]
124
        Dump the specified DWARF section by name. Only the .debug_info
125
        section is disassembled by default. Some entries support adding a
126
        '=OFFSET' as a way to provide an optional offset of the exact entry
127
        to dump within the respective section. When an OFFSET is provided,
128
        only the entry at that offset will be dumped, else the entire
129
        section will be dumped. Some options support an optional '=PATTERN'
130
        parameter that will search the section for an entry with a matching
131
        name. Children of items at OFFSETs can be dumped by also using the
132
        --show-children option where applicable.
以上是dwarfdump命令的使用方法介绍
 

相关内容

    暂无相关文章