ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Studio 12.3: dbx コマンドによるデバッグ Oracle Solaris Studio 12.3 Information Library (日本語) |
17. dbx による Java アプリケーションのデバッグ
inmember function inmethod function
inclass classname [-recurse | -norecurse]
inobject object-expression [-recurse | -norecurse]
access mode address-expression [, byte-size-expression ]
dlopen [ lib-path ] dlclose [ lib-path ]
イベント指定のため修飾子は、ハンドラの追加属性を設定します。もっとも一般的な種類はイベントフィルタです。修飾子はイベント指定のキーワードのあとに指定しなければなりません。修飾語はすべて ' -' で始まります (その前にブランクが置かれます)。各修飾子の構成は次のとおりです。
イベント仕様で指定されたイベントが発生したとき、条件が評価されます。イベントは、条件が非ゼロと評価された場合にだけ発生すると考えられます。
-if が、in または at などの単独のソース位置に基づくイベントで使用された場合、cond はその位置に対応するスコープで評価されます。そうでない場合は、必要なスコープによって正しく修飾する必要があります。
マクロ展開は、print コマンドと同じ規約に従った条件で実行されます。
-resumeone 修飾子は、-if 修飾子とともにイベント仕様内でマルチスレッドプログラムに対して使用して、条件に関数呼び出しが含まれている場合に 1 つのスレッドのみを再開することができます。詳細については、「条件付イベントでのフィルタの使用」を参照してください。
イベントは、最初の指定 function の命令に達したときから関数が戻るまでの間に発生した場合にのみ開始されます。関数の再帰は無視されます。
-count n および -count infinity 修飾子は、0 からのハンドラカウントを持ちます (「イベントカウンタ」参照)。イベントが発生するたび、n に達するまでカウントはインクリメントします。一度それが生じると、ハンドラはファイアし、カウンタはゼロにリセットされます。
プログラムが実行または再実行されると、すべてのイベントのカウントがリセットされます。より具体的に言えば、カウントは sync イベントが発生するとリセットされます。
カウントは debug -r コマンド (「debug コマンド」参照) または attach -r コマンド (「attach コマンド」参照) を使用して新しいプログラムのデバッグを開始したときにリセットされます。
一時ハンドラを作成します。イベントが発生すると、一時イベントは削除されます。デフォルトではハンドラは、一時イベントではありません。ハンドラが計数ハンドラ (-count が指定されたイベント) の場合はゼロに達すると自動的に破棄されます。
一時ハンドラをすべて削除するには delete -temp を実行します。
イベントを命令レベルで動作させます。これにより、ほとんどの ' i' で始まるコマンドは不要となります。この修飾子は、イベントハンドラの 2 つの面を修飾します。
出力されるどのメッセージもソースレベルの情報ではなく、アセンブリレベルを示す。
イベントの細分性が命令レベルになる。たとえば step -instr は、命令レベルのステップ実行を意味する。
イベントを引き起こしたスレッドが thread_id と一致する場合にかぎり、アクションが実行されます。プログラムの実行を繰り返すうちに特定スレッドの thread_id が変わってしまうことがあります。
イベントを引き起こしたスレッドが lwp_id と一致する場合にかぎり、アクションが実行されます。イベントを引き起こしたスレッドが lwp_id と一致する場合にかぎり、アクションが実行されます。プログラムの実行を繰り返すうちに特定スレッドの lwp_id が変わってしまうことがあります。
ハンドラが正規の status コマンドに示されないようにします。隠されたハンドラを表示するには、status -h を使用してください。
通常、すべてのハンドラは、新しいプログラムが読み込まれると廃棄されます。-perm 修飾子を使用すると、ハンドラはデバッグセッションが終わっても保存されます。delete コマンド単独では、永続ハンドラは削除されません。永続ハンドラを削除するには、delete -p を使用してください。