dsymutil命令详解

概要

dsymutil [options*] *executable

描述

dsymutil使用其符号表中包含的调试符号信息链接在目标文件中找到的DWARF调试信息,以获取可执行文件。默认情况下,链接的调试信息放在与可执行文件同名的.dSYM包中。

选项

  • –arch=<arch>
    仅为指定的CPU体系结构类型链接DWARF调试信息。可以通过名称指定体系结构。使用此选项时,如果无法正确链接任何体系结构,则会返回错误。可以多次指定此选项,每个所需的体系结构一次。默认情况下,所有CPU体系结构都将链接,任何无法正确链接的体系结构都将导致dsymutil返回错误。

  • dump-debug-map
    以YAML格式转储可执行文件的debug-map(包含调试信息的目标文件列表)并退出。不会发生DWARF链接。

  • -f, –flat
    生成一个扁平的dSYM文件。除非使用-o选项指定的输出文件名称否则将添加一个.dwarf的扩展名。

  • -z, –minimize
    在创建dSYM文件时使用此选项将禁止发出.debug_inlines,.debug_pubnames和.debug_pubtypes部分,因为dsymutil目前具有更好的等效项:.apple_names和.apple_types。与-update选项一起使用时,此选项将导致删除冗余加速器表。

  • -no-odr
    不要使用ODR(一个定义规则)来单独使用C++类型

  • –no-output
    在内存中执行链接,但不发出结果文件

  • –no-swiftmodule-tinestamp
    不要检查swiftmodule文件的时间戳

  • -j <n>, –num-threads=<n>
    指定n链接多个体系结构时要使用的同时线程的最大数量(n)

  • -o <filename>
    指定path放置dSYM包的备用项。通过附加.dSYM到可执行文件名来创建默认的dSYM软件包路径。

  • –oso-prepend-path=<path>
    指定path预先添加到所有调试符号对象文件路径.

  • –papertrail
    在将dsymutil作为构建系统的一部分运行时,可能需要将警告作为最终产品的一部分,而不是仅将其发送到输出流。启用警告时,会在链接的DWARF调试信息中嵌入警告。

  • -s, –symtab
    转储在可执行文件或目标文件中找到的符号表并退出

  • toolchain
    将工具链嵌入dSYM包的属性列表中

  • -u, –update
    更新现有dSYM文件以包含最新的加速器表和其他DWARF优化。此选项将重建’.apple_names’和’.apple_types’散列加速器表。

  • -v, -verbose
    链接时显示详细信息

  • –version
    显示工具的版本

  • -y
    将可执行文件视为YAML调试映射而不是可执行文件

退出

如果已成功链接DWARF调试信息,dsymutil将返回0。否则,它返回1

参见

llvm-dwarfdump