Oracle® Solaris Studio 12.4: dbx コマンドによるデバッグ

印刷ビューの終了

更新: 2015 年 1 月
 
 

ソースファイルおよびオブジェクトファイルの検索

dbx は、プログラムに関連付けられたソースコードファイルの場所を認識している必要があります。ソースファイルのデフォルトディレクトリは、最後のコンパイル時にそれらが存在したディレクトリです。ソースファイルを移動したか、またはそれらを新しい場所にコピーした場合は、プログラムを再リンクするか、デバッグの前に新しい場所に変更するか、または pathmap コマンドを使用する必要があります。

Sun Studio 11 以前のリリースの dbx で使用されていたスタブフォーマットでは、dbx のデバッグ情報は、オブジェクトファイルを使用してその他のデバッグ情報を読み込むことがあります。ソースファイルは、dbx がソースコードを表示するときに使用されます。

ソースファイルへのパスを含むシンボリック情報は、実行ファイルに含まれています。dbx でソース行を表示する必要がある場合は、必要な分だけシンボリック情報を読み込んでソースファイルの位置を特定し、そこから行を読み取り、表示します。

シンボリック情報にはソースファイルのフルパス名が含まれていますが、dbx コマンドを入力するときは通常、ファイルのベース名のみを使用します。例:

stop at test.cc:34

dbx は、シンボリック情報内で、一致するファイルを検索します。

ソースファイルを削除している場合は、dbx でこれらのファイルのソース行を表示できませんが、スタックトレースを表示したり、変数値を出力したり、あるいは現在のソース行を特定したりすることもできます。

プログラムをコンパイルしてリンクしたためにソースファイルを移動した場合、その新しい位置を検索パスに追加できます。 pathmap コマンドは、ファイルシステムの現在のビューから実行可能イメージ内の名前へのマッピングを作成します。このマッピングは、ソースパスとオブジェクトファイルパスに適用されます。

ディレクトリ from からディレクトリ to への新しいマッピングを確立するには、次のように入力します。

(dbx) pathmap [-c] from to

-c を使用すると、このマッピングは、現在の作業ディレクトリにも適用されます。

pathmap コマンドは、ホストによってベースパスの異なる、自動マウントされた明示的な NFS マウントファイルシステムを扱う場合でも便利です。-c は、現在の作業ディレクトリが自動マウントされたファイルシステム上で不正確なオートマウンタが原因で起こる問題を解決する場合に使用してください。

/tmp_mnt/ のマッピングはデフォルトで存在します。