llvm-dwarfutil - デバッグ情報の複製と操作を行うツール

概要

llvm-dwarfutil [オプション] 入力 出力

説明

llvm-dwarfutil は、デバッグ情報の複製と操作を行うツールです。

基本的な使用方法では、入力から出力へのセマンティックなコピーを作成します。オプションを指定すると、未使用のデバッグ情報の削除など、出力は途中で変更される場合があります。

入力ファイルに「-」を指定すると、入力はプログラムの標準入力ストリームから読み込まれます。「-」を出力ファイルに指定すると、出力はプログラムの標準出力ストリームに書き込まれます。

このツールはまだ開発中です。

コマンドラインオプション

--garbage-collection

破棄されたセクションに関連するデバッグ情報の断片を削除します。リンカがセクションのガベージコレクションを実行すると、放棄されたデバッグ情報が残ります。このような放棄されたデバッグ情報は、墓石値を使用してアドレス範囲を参照します。そのため、このオプションを指定すると、ツールは墓石値でマークされたデバッグ情報を削除します。

このオプションはデフォルトで有効になっています。

--odr-deduplication

重複した型を削除します(ソース言語で「One Definition Rule」がサポートされている場合)。最初の型定義を保持し、他の定義を削除することで、出力デバッグ情報のサイズを大幅に削減できます。

このオプションはデフォルトで有効になっています。

--help, -h

コマンドラインオプションの概要を表示します。

--no-garbage-collection

--garbage-collection を無効にします。

--no-odr-deduplication

--odr-deduplication を無効にします。

--no-separate-debug-file

--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(以下)のアドレス範囲と実行可能ファイルに対して[1,1]。

  • maxpc:すべてのアドレスに対して-1、DWARF v4(以下)のアドレス範囲に対して-2。

  • universalbfdmaxpcの両方。

  • exec:実行可能セクションのアドレス範囲と一致します。

デフォルトではuniversal値が使用されます。

--verbose

詳細ログを有効にします。このオプションはマルチスレッドモードを無効にします。

--verify

出力DWARFデバッグ情報でDWARF検証を実行します。

--version

このプログラムのバージョンを表示します。

サポートされているフォーマット

llvm-dwarfutil は現在、次のフォーマットをサポートしています。

ELF

終了ステータス

エラーが発生した場合、llvm-dwarfutilはゼロ以外の終了コードで終了します。それ以外の場合は、コード0で終了します。

バグ

バグを報告するには、<https://github.com/llvm/llvm-project/labels/tools:llvm-dwarfutil/>をご覧ください。