llvm-dwarfutil - 一个用于复制和操作调试信息的工具¶
概要¶
llvm-dwarfutil [options] input output
描述¶
llvm-dwarfutil 是一个用于复制和操作调试信息的工具。
在基本用法中,它将输入的语义副本复制到输出。如果指定任何选项,则输出可能会在此过程中被修改,例如通过删除未使用的调试信息。
如果为输入文件指定 “-”,则从程序的标准输入流读取输入。如果为输出文件指定 “-”,则输出将写入程序的标准输出流。
该工具仍在积极开发中。
命令行选项¶
- --garbage-collection¶
移除与已丢弃 section 相关的调试信息片段。当链接器执行 section 垃圾回收时,会留下废弃的调试信息。这些废弃的调试信息使用墓碑值引用地址范围。因此,当指定此选项时,该工具会移除标记有墓碑值的调试信息。
该选项默认启用。
- --odr-deduplication¶
删除重复的类型(如果源语言支持“单一定义规则”)。保留第一个类型定义并删除其他定义,可能显著减小输出调试信息的大小。
该选项默认启用。
- --help, -h¶
打印命令行选项摘要。
- --no-garbage-collection¶
- --no-odr-deduplication¶
- --no-separate-debug-file¶
- --num-threads=<n>, -j¶
指定用于处理的同时线程的最大数量 (n)。
- --separate-debug-file¶
生成包含输出调试信息的单独文件。使用带有该选项的 llvm-dwarfutil 相当于以下命令集
:program:`llvm-objcopy` --only-keep-debug in-file out-file.debug
:program:`llvm-objcopy` --strip-debug in-file out-file
:program:`llvm-objcopy` --add-gnu-debuglink=out-file.debug out-file
- --tombstone=<value>¶
<value> 可以是以下值之一
bfd: 所有地址为零,DWARF v4(或更低版本)地址范围和 exec 为 [1,1]。
maxpc: 所有地址为 -1,DWARF v4(或更低版本)地址范围为 -2。
universal: bfd 和 maxpc 都是。
exec: 与可执行 section 的地址范围匹配。
默认使用值 universal。
- --verbose¶
启用 verbose 日志记录。此选项禁用多线程模式。
- --verify¶
对输出的 DWARF 调试信息运行 DWARF 验证器。
- --version¶
打印此程序的版本。
支持的格式¶
llvm-dwarfutil 当前支持以下格式
ELF
退出状态¶
llvm-dwarfutil 如果发生错误,将以非零退出代码退出。否则,它将以代码 0 退出。
BUG¶
要报告 bug,请访问 <https://github.com/llvm/llvm-project/labels/tools:llvm-dwarfutil/>。