Sun Studio 12: dbx コマンドによるデバッグ

オブジェクトファイルの読み込み

オブジェクト (.o) ファイルがリンクされると、リンカーは任意で要約情報のみを結果ロードオブジェクトに保存することができます。この要約情報は実行時に dbx で使用して、実行可能ファイルからではなくオブジェクトファイル自体から残りのデバッグ情報を読み込むことができます。作成された実行可能ファイルの容量は小さいですが、dbx を実行するときにオブジェクトファイルが必要になります。

この要件は、オブジェクトファイルを -xs オプションを使用してコンパイルし、オブジェクトファイルのすべてのデバッグ情報をリンク時に実行可能ファイルに入れることによって変更することができます。

アーカイブライブラリ (.a ファイル) をオブジェクトファイルとともに作成して、そのアーカイブライブラリをプログラムで使用した場合、dbx は必要に応じてアーカイブライブラリからオブジェクトファイルを抽出します。ここではオリジナルのオブジェクトファイルは必要ありません。

ただし、すべてのデバッグ情報を実行可能ファイルに入れると、追加のディスク容量が必要になります。デバッグ情報は実行時にプロセスイメージに読み込まれないため、プログラムが遅くなることはありません。

スタブ (情報をデバッグするためのデフォルトの形式) を使用する場合のデフォルトの動作は、コンパイラが要約情報のみを実行可能ファイルに配置します。

DWARF 形式では、オブジェクトファイルの読み込みをサポートしていません。


注 –

DWARF 形式は、同じ情報をスタブ形式で記録するよりも大幅にサイズが小さくなります。ただし、すべての情報が実行可能ファイルにコピーされるため、DWARF 情報はスタブ情報よりもサイズが大きく見えてしまいます。