補助ファイル (Oracle Solaris のみ)に加えて、dbx では、圧縮デバッグセクションのデバッグもサポートされます。圧縮デバッグセクションは、コード自体よりも大きくなることがあるデバッグデータを圧縮する場合に役立ちます。この問題は、「DWARF の肥大化」の問題と呼ばれることがあります。
圧縮デバッグセクションは、業界標準の ZLIB 圧縮ライブラリを使用してサイズが縮小された割り当て不可のセクションです。ZLIB のドキュメントは http://www.zlib.net/ にあります。デバッガは、入力オブジェクト内の圧縮デバッグセクションを検出すると自動的にこれらのセクションを解凍します。この操作は、デバッガのユーザーに対して透過的で、特別なアクションは必要ありません。
出力ファイルのデバッグセクションの圧縮を有効にするには、–z compress-debug-sections オプションを使用します。
$ cc -z compress-sections[=cmp-type] demo.cc
次に、cmp-type の許容値の一覧を示します。
ZLIB 圧縮を使用して候補を圧縮します。結果の出力セクションでは、圧縮を使用していることがわかるように、SHF_COMPRESSED セクションフラグが設定されます。デフォルトが指定されていない場合、これがデフォルトの cmd-type です。SHF_COMPRESSED セクションフラグの詳細は、Oracle Solaris 11.3 リンカーとライブラリガイド の セクションの圧縮を参照してください。
ZLIB 圧縮を使ってすべての候補セクションを圧縮します (GNU セクション圧縮形式が使用される)。この形式の場合、候補セクションの名前は .debug で始まっている必要があります。結果となる出力セクションの名前は、圧縮を使用していることがわかるように、.zdebug で始まる名前に変更されます。
圧縮デバッグセクションの詳細と、圧縮デバッグセクションの使用例については、Oracle Solaris 11.3 リンカーとライブラリガイド の 圧縮デバッグセクションを参照してください。