dsymutil - 操作归档的 DWARF 调试符号文件¶
概要¶
描述¶
dsymutil 通过使用其符号表中包含的调试符号信息,链接在可执行文件 executable 的目标文件中找到的 DWARF 调试信息。默认情况下,链接的调试信息放置在与可执行文件同名的 .dSYM
捆绑包中。
选项¶
- --accelerator=<accelerator type>¶
指定所需的加速器表类型。有效选项为 ‘Apple’、‘Dwarf’、‘Default’ 和 ‘None’。
- --arch <arch>¶
仅链接指定 CPU 架构类型的 DWARF 调试信息。架构可以通过名称指定。使用此选项时,如果任何架构无法正确链接,将返回错误。此选项可以多次指定,每次指定一个所需的架构。默认情况下将链接所有 CPU 架构,任何无法正确链接的架构都将导致 dsymutil 返回错误。
- --build-variant-suffix <suffix=buildvariant>¶
指定用于构建可执行文件的构建变体后缀。一个产品的二进制文件可能存在多个变体,每个变体的构建方式略有不同。最常见的构建变体是 ‘debug’ 和 ‘profile’。设置 DYLD_IMAGE_SUFFIX 环境变量将导致 dyld 在运行时加载指定的变体。
- --dump-debug-map¶
以 YAML 格式转储 executable 的 debug-map(包含调试信息的目标文件列表)并退出。不会进行 DWARF 链接。
- -D <path>¶
指定包含要搜索的 dSYM 文件的目录。这用于可合并的库,以便 dsymutil 知道在哪里查找包含这些库中存在的符号的调试信息的 dSYM 文件。
- --fat64¶
在发出通用二进制文件时使用 64 位标头。
- --flat, -f¶
生成扁平的 dSYM 文件。除非使用
-o
选项指定输出文件,否则.dwarf
扩展名将附加到可执行文件名。
- --gen-reproducer¶
生成一个由输入目标文件组成的 reproducer。是 –reproducer=GenerateOnExit 的别名。
- --help, -h¶
打印此帮助输出。
- --keep-function-for-static¶
即使静态变量原本会被省略,也使其保留外围函数。
- --minimize, -z¶
在创建 dSYM 文件时使用,此选项将禁止发出 .debug_inlines、.debug_pubnames 和 .debug_pubtypes sections,因为 dsymutil 目前有更好的等效项:.apple_names 和 .apple_types。当与
--update
选项结合使用时,此选项将导致删除冗余的加速器表。
- --no-object-timestamp¶
不检查目标文件的时间戳。
- --no-odr¶
不使用 ODR(单一定义规则)来唯一化 C++ 类型。
- --no-output¶
在内存中进行链接,但不发出结果文件。
- --no-swiftmodule-timestamp¶
不检查 swiftmodule 文件的时间戳。
- --num-threads <threads>, -j <threads>¶
指定链接多个架构时要使用的最大并发线程数 (
n
)。
- --object-prefix-map <prefix=remapped>¶
在处理之前重新映射目标文件路径(但不包括源路径)。将其用于 Clang 对象,其中模块缓存位置已使用
-fdebug-prefix-map
重新映射;以帮助 dsymutil 找到 Clang 模块缓存。
- --oso-prepend-path <path>¶
指定要预先添加到所有调试符号目标文件路径的
path
。
- --out <filename>, -o <filename>¶
指定放置 dSYM 捆绑包的备用
path
。默认 dSYM 捆绑包路径是通过将.dSYM
附加到可执行文件名来创建的。
- -q, --quiet¶
启用静默模式并限制输出。
- --remarks-drop-without-debug¶
删除没有有效调试位置的 remarks。如果没有此标志,则保留所有 remarks。
- --remarks-output-format <format>¶
指定序列化链接的 remarks 时要使用的格式。
- --remarks-prepend-path <path>¶
指定一个目录,以预先添加外部 remark 文件的路径。
- --reproducer <mode>¶
指定 reproducer 生成模式。有效选项为 ‘GenerateOnExit’、‘GenerateOnCrash’、‘Use’、‘Off’。
- --statistics¶
打印关于每个目标文件对链接的调试信息的贡献的统计信息。这会在链接后打印一个表格,其中包含目标文件名、目标文件中调试信息的大小(以字节为单位)以及对链接的 dSYM 的贡献大小(以字节为单位)。该表按输出大小排序,首先列出贡献最大的目标文件。
- -s, --symtab¶
转储在 executable 或目标文件(s) 中找到的符号表并退出。
- -S¶
输出文本汇编代码而不是二进制 dSYM 伴随文件。
- --toolchain <toolchain>¶
将工具链嵌入到 dSYM 捆绑包的属性列表中。
- -u, --update¶
更新现有的 dSYM 文件以包含最新的加速器表和其他 DWARF 优化。此选项将重建 ‘.apple_names’ 和 ‘.apple_types’ 哈希加速器表。
- --use-reproducer <path>¶
使用给定 reproducer 路径中的目标文件。是 –reproducer=Use 的别名。
- --verbose¶
链接时显示详细信息。
- --verify¶
对链接的 DWARF 调试信息运行 DWARF 验证器。
- -v, --version¶
显示工具的版本。
- -y¶
将 executable 视为 YAML debug-map 而不是可执行文件。
退出状态¶
如果 DWARF 调试信息链接成功,dsymutil 返回 0。否则,返回 1。