dwz - クラウドでオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド dwz です。

プログラム:

NAME


dwz - DWARF 最適化および重複削除ツール

SYNOPSIS


dwz [オプション...] [ファイル]

DESCRIPTION


DWZ ELF に含まれる DWARF デバッグ情報の最適化を試みるプログラムです
DWARF 情報を置き換えることにより、共有ライブラリと ELF 実行可能ファイルのサイズを調整
可能な場合は同等のより小さい表現を使用し、
DWARF 標準付録 E の手法を使用した重複の量 - 作成
DW_TAG_partial_unit 情報の重複と使用のためのコンパイル ユニット (CU)
DW_TAG_imported_unit それを必要とする各 CU にインポートします。

このツールは、バージョン 32、2、3 および GNU の DWARF 4 ビット形式のデバッグ セクションを処理します。
ただし、DWARF 4 または最悪の場合 DWARF 3 を使用することは強力です。
お勧めします。

このツールには XNUMX つの主な操作モードがあります。 -m 最適化を試みるオプション
特定の各オブジェクト (実行可能ファイルまたは共有ライブラリ) の DWARF デバッグ情報
個別に、 -m オプションを使用すると、その後移動してさらに最適化を試みます
DWARF デバッグ情報エントリ (DIE)、文字列、およびマクロの説明が重複しています。
複数のオブジェクトを新しく作成された ELF ET_REL オブジェクトに追加します。そのファイル名は次のようになります。 -m
オプション引数。 で指定された実行可能ファイルと共有ライブラリのデバッグ セクション
コマンドラインは、新しく作成されたエンティティを参照して再度変更されます。
オブジェクト。

OPTIONS


-m FILE -マルチファイル FILE
マルチファイルモード。 すべての名前付き実行可能ファイルと共有ライブラリを処理した後、
ELF オブジェクトを作成してみます FILE 複製したデバッグ情報をさらに追加します
複数のオブジェクトが存在し、その後、名前付き実行可能ファイルまたは共有ライブラリをそれぞれ最適化します。
できればさらに先まで。

-h --ハードリンク
書き換えるのではなく、ハードリンクされた実行可能ファイルまたは共有ライブラリを探します。
そのうちの XNUMX つだけを個別に書き換え、残りを最初のものにハードリンクします。
再び。

-M NAME --複数ファイル名 NAME
に入れる共通ファイルの名前を指定します。 .gnu_debugaltlink
セクションにビルド ID を付けます。 デフォルトでは DWZ の議論をそこに置きます
-m オプションを選択します。

-r - 相対的
に入れる共通ファイルの名前を指定します。 .gnu_debugaltlink
セクションは、
実行可能ファイルまたは共有ライブラリを、引数で指定されたファイルにコピーします。 -m オプションを選択します。
どちらでも -M or -r オプションを指定できますが、両方を指定することはできません。

-q - 静かな
最も一般的なメッセージのいくつかを沈黙させます。

-o FILE - 出力 FILE
このオプションは指示します DWZ 指定されたファイルを上書きせずに保存します
新しいコンテンツを FILE。 場合は何も書かれていません DWZ ゼロ以外の exit で終了します
コード。 単一の実行可能ファイルまたは共有ライブラリでのみ使用できます (
議論はまったく、 アウト と仮定されます)。

-l COUNT --低メモリーダイ制限 COUNT
以上のものを含む実行可能ファイルまたは共有ライブラリを処理します。 COUNT デバッギング
彼らの情報エントリ 。デバッグ情報 セクションではより遅く、より多くのメモリが使用されます
マルチファイル モードではそのオブジェクトを最適化しようとしないでください。
デフォルトは 10 万 DIE です。 非常に大量の場合には、
単一の共有ライブラリまたは実行可能ファイルにはデバッグ情報が存在しない可能性があります。
十分なメモリ (特に DWZ ツールは 32 ビット バイナリなので、不足する可能性があります
仮想アドレス空間がさらに早く利用可能になります)。

-L COUNT --最大ダイリミット COUNT
以下の内容を含む実行可能ファイルや共有ライブラリを最適化しようとしないでください。
COUNT 全然死ぬ。 デフォルトは 50 万 DIE です。

-? - 助けて
短いヘルプを印刷して終了します。

-v - バージョン
バージョン番号と短いライセンス通知を印刷して終了します。

議論


コマンドライン引数は、実行可能ファイル、共有ライブラリ、またはそれらを取り除いたものである必要があります。
ファイルに個別のデバッグ情報オブジェクトを作成します。


$ dwz -m .dwz/foobar-1.2.debug -rh
bin/foo.debug bin/foo2.debug foo/lib/libbar.so.debug
デバッグ情報の最適化を試みます bin/foo.debug, bin/foo2.debug および
lib/libbar.so.debug (所定のファイルを変更することで)有益な場合には、
.dwz/foobar-1.2.debug ファイルにソフトウェアを指定する必要があります。 .gnu_debugaltlink 最初の XNUMX つのファイルのセクションが参照されます
〜へ ../.dwz/foobar-1.2.debug そして最後のファイルでは ../../.dwz/foobar-1.2.debug。 たとえば
bin/foo.debug および bin/foo2.debug 最初はハードリンクされていましたが、今後は
再びハードリンクされ、複数ファイルの最適化ではむしろ単一のファイルとして考慮されます。
XNUMXつよりも。
$ dwz -o foo.dwz foo
変更されません foo その代わりに、最適化されたデバッグ情報を含む ELF オブジェクトを保存します。
に成功した場合 foo.dwz 作成されるファイル。
$ dwz *.debug foo/*.debug
*.debug および foo/*.debug ファイル内のデバッグ情報の最適化を試みます。
各ファイルを適切な場所で個別に最適化します。
$dwz
に相当します DWZ アウト

onworks.net サービスを使用してオンラインで dwz を使用する



最新のLinuxおよびWindowsオンラインプログラム