最終更新:2013-03-01 (金) 14:01:01 (4072d)
デバッグシンボル
Top / デバッグシンボル
http://archive.linux.or.jp/JF/JFdocs/LFS-BOOK/chapter06/aboutdebug.html
Linux
- 同じバイナリに埋め込む (オブジェクトファイルに含まれる)
デバッグシンボルについて
- プログラムやライブラリの多くは、デフォルトではデバッグシンボルを含めてコンパイルされています。 (gccの-gオプションが用いられています。)
- デバッグ情報を含めてコンパイルされたプログラムやライブラリは、デバッグ時にメモリアドレスが参照できるだけでなく、処理ルーチンや変数の名称も知ることができます。
- しかしそういったデバッグ情報は、プログラムやライブラリのファイルサイズを極端に大きくします。 以下にデバッグシンボルが占める割合の例を示します。
- デバッグシンボルを含んだ bash の実行ファイル: 1200 KB
- デバッグシンボルを含まない bash の実行ファイル: 480 KB
- デバッグシンボルを含んだ Glibc と GCC の関連ファイル (/lib と /usr/lib): 87 MB
- デバッグシンボルを含まない Glibc と GCC の関連ファイル: 16MB
- 利用するコンパイラや C ライブラリの違いによって、生成されるファイルのサイズは異なります。 デバッグシンボルを含む、あるいは含まないサイズを比較した場合、その差は 2倍から 5倍の違いがあります。
- プログラムをデバッグするユーザーはそう多くはありません。 デバッグシンボルを削除すればディスク容量はかなり節減できます。
Windows
- 別ファイル(.pdb)