dsymutil - 操作归档的 DWARF 调试符号文件

摘要

dsymutil [选项] 可执行文件

描述

dsymutil 通过使用其符号表中包含的调试符号信息,链接可执行文件 executable 的对象文件中找到的 DWARF 调试信息。默认情况下,链接的调试信息将放置在一个与可执行文件同名的 .dSYM 包中。

选项

--accelerator=<加速器类型>

指定所需的加速器表类型。有效选项为“Apple”、“Dwarf”、“Default”和“None”。

--arch <架构>

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

--build-variant-suffix <后缀=构建变体>

指定用于构建可执行文件的构建变体后缀。产品的二进制文件可以有多个变体,每个变体都略有不同。最常见的构建变体是“debug”和“profile”。设置 DYLD_IMAGE_SUFFIX 环境变量将导致 dyld 在运行时加载指定的变体。

--dump-debug-map

以 YAML 格式转储 可执行文件 的调试映射(包含调试信息的对象文件列表)并退出。不会进行任何 DWARF 链接。

-D <路径>

指定包含要搜索的 dSYM 文件的目录。这用于可合并库,以便 dsymutil 知道在哪里查找包含有关这些库中存在的符号的调试信息的 dSYM 文件。

--fat64

在发出通用二进制文件时使用 64 位头。

--flat, -f

生成一个扁平的 dSYM 文件。除非使用 -o 选项指定输出文件,否则将向可执行文件名称追加 .dwarf 扩展名。

--gen-reproducer

生成一个由输入对象文件组成的重现器。它是 –reproducer=GenerateOnExit 的别名。

--help, -h

打印此帮助输出。

--keep-function-for-static

即使静态变量本来会被省略,也要让它保留封闭函数。

--minimize, -z

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

--no-odr

不要将 ODR(单一定义规则)用于唯一化 C++ 类型。

--no-output

在内存中进行链接,但不发出结果文件。

--no-swiftmodule-timestamp

不要检查 swiftmodule 文件的时间戳。

--num-threads <线程数>, -j <线程数>

指定链接多个架构时要使用的最大线程数 (n)。

--object-prefix-map <前缀=重新映射>

在处理之前重新映射对象文件路径(但不要重新映射源路径)。对于使用 -fdebug-prefix-map 重新映射模块缓存位置的 Clang 对象,请使用此功能;以帮助 dsymutil 找到 Clang 模块缓存。

--oso-prepend-path <路径>

指定一个 路径,将其添加到所有调试符号对象文件路径的前面。

--out <文件名>, -o <文件名>

指定一个备用 路径 来放置 dSYM 包。默认的 dSYM 包路径是通过向可执行文件名称追加 .dSYM 创建的。

-q, --quiet

启用静默模式并限制输出。

--remarks-drop-without-debug

删除没有有效调试位置的备注。在没有此标志的情况下,将保留所有备注。

--remarks-output-format <格式>

指定序列化链接的备注时要使用的格式。

--remarks-prepend-path <路径>

指定一个目录,将其添加到外部备注文件的路径的前面。

--reproducer <模式>

指定重现器生成模式。有效选项为“GenerateOnExit”、“GenerateOnCrash”、“Use”、“Off”。

--statistics

打印有关每个对象文件对链接的调试信息的贡献的统计信息。这将在链接后打印一个表格,其中包含对象文件名、对象文件中调试信息的大小(以字节为单位)以及对链接的 dSYM 的贡献大小(以字节为单位)。该表按输出大小排序,首先列出贡献最大的对象文件。

-s, --symtab

转储在 可执行文件 或对象文件(s) 中找到的符号表并退出。

-S

输出文本汇编而不是二进制 dSYM 伴侣文件。

--toolchain <工具链>

将工具链嵌入到 dSYM 包的属性列表中。

-u, --update

更新现有的 dSYM 文件,使其包含最新的加速器表和其他 DWARF 优化。此选项将重建“.apple_names”和“.apple_types”哈希加速器表。

--use-reproducer <path>

使用给定复制器路径中的目标文件。 –reproducer=Use 的别名。

--verbose

在链接时显示详细的信息。

--verify

在链接的 DWARF 调试信息上运行 DWARF 验证器。

-v, --version

显示工具的版本。

-y

executable视为 YAML 调试映射,而不是可执行文件。

退出状态

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

参见

llvm-dwarfdump(1)