複数のコールフレーム、スレッド、およびソースのサポート

プロセスには、1 つまたは複数の実行スレッドが含まれています。スレッドは関数を実行します。関数とは、コンパイラーによりソースファイル内のソース行から生成された命令のシーケンスです。

デバッガーコマンドを入力してプロセスを操作すると、コマンドを適用するスレッドやソースファイルを繰り返し指定しなければならず、手間がかかります。デバッガーはプロセスを停止するたびに、コマンドのスタティック・コンテキストとダイナミック・コンテキストを再確立してこれを回避します。ダイナミック・コンテキストのコンポーネントはプログラムの実行ごとに異なり、スタティック・コンテキストのコンポーネントは常に同じです。

これらのコンテキストのコンポーネントは、デバッガー変数またはほかのコマンドを使用して表示できます。

スタティック・コンテキストには次のものが含まれます。

現在のプログラム

info sharedlibrary (GDB モード) または listobj (IDB モード)info file

現在のファイル

print $curfile

現在の行

print $curline

ダイナミック・コンテキストには次のものが含まれます。

where

現在のコールフレーム

print $curprocess

現在のプロセス

print $curthread

現在のスレッド

thread

デバッガーにプロセスのコントロールを引き渡す原因となったイベントを実行しているスレッド。

スタティック・コンテキストとダイナミック・コンテキストが変更されると、デバッガーはそれぞれのコンポーネントの一貫性を維持します。デバッガーは、プロセスの停止位置を基に現在のファイルと行を特定しますが、次のコマンドを使用して、ダイナミック・コンテキストを直接変更することもできます。

プログラムをアンロードするには、file (GDB モード) または unload (IDB モード) コマンドを使用します。

関連情報


このヘルプトピックについてのフィードバックを送信