dbx コマンドによるデバッグ

スコープ決定パス

dbx 固有コマンドにターゲットとして指定されたシンボルが検索を必要とするものである場合、dbx はそのシンボルを次の順序で検索します。

  1. 最初に現在の関数のスコープ内で検索を行います。プログラムが、入れ子になったブロックで停止した場合はそのブロック内で検索した後、その関数によって宣言されている外側のすべてのブロックのスコープ内で検索します。

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

  3. すぐ外側にある「コンパイル単位」: 一般に、現在の関数が含まれているファイル。

  4. ロードオブジェクトのスコープ。

  5. 大域的スコープ。

  6. 上記のすべてで該当するシンボルが見つからなかった場合は非公開変数、すなわちファイル内で「静的」な変数または関数と見なします。dbxenv による scope_look_aside の設定値によっては、コンパイル単位ごとにファイル静的シンボルを検索することもできます。

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