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

印刷ビューの終了

更新: 2015 年 1 月
 
 

スコープ決定検索パス

    式を含むデバッグコマンドを発行すると、その式の中のシンボルが次の順序で検索されます。dbx は、コンパイラが現在の表示スコープで処理するのと同様にシンボルを解決します。

  1. 現在の表示スコープを使用している現在の関数のスコープ内。プログラムがネストされたブロックで停止された場合、dbx はそのブロック内で検索したあと、囲んでいるすべてのブロックのスコープ内で検索します。

  2. C++ の場合のみ: 現在の関数クラスのクラスメンバーとその基底クラス。

  3. C++ の場合のみ: 現在のネームスペース。

  4. 現在の関数のパラメータ。

  5. すぐ外側の囲んでいるモジュール。これは一般に、現在の関数を含むファイルです。

  6. この共有ライブラリまたは実行可能ファイル専用に作成されたシンボル。これらのシンボルはリンカースコープを使用して作成できます。

  7. メインプログラム用で、その次に共有ライブラリ用のグローバルシンボル。

  8. 上記の検索がいずれも成功しなかった場合、dbx は、ユーザーが別のファイル内の非公開 (つまり、ファイルの静的) 変数または関数を参照していると見なします。dbx はオプションで、dbxenv の設定 scope_look_aside の値に応じて、すべてのコンパイル単位内のファイルの静的シンボルを検索します。

dbx はこの検索パスで最初に見つけたシンボルを使用します。変数が見つからなかった場合はエラーを報告します。