call

デバッグ対象の関数を呼び出します。

構文

call expression (parmlist)

パラメーター

expression

関数を表す式。

parmlist

パラメーターのリスト。

説明

アプリケーション内から関数を呼び出しているかのように関数を指定します。関数にパラメーターがない場合は、空の括弧 (()) を指定します。

マルチスレッド・アプリケーションの場合、デバッガーは現在のスレッドのコンテキスト内の関数を呼び出します。C++ アプリケーションの場合、$overloadmenu デバッガー変数を 1 に設定し、多重定義された関数を呼び出す際、デバッガーは多重定義された関数をリストし、指定した関数を呼び出します。クラスメソッドの場合、クラス・インスタンスも指定する必要があります。次に例を示します。

call classInstance.methodName( parmlist )

呼び出した関数が正常に完了すると、デバッガーはスタックと関数が呼び出される前に存在した現在のコンテキストを復元します。

call コマンドは指定した関数とパラメーターを実行し、関数の戻り時にデバッガープロンプトに制御を戻します。call コマンドは関数の戻り値を破棄します。関数呼び出しを出力コマンドの式パラメーターに埋め込んだ場合、デバッガーは関数が戻った後で戻り値を出力します。

プログラムカウンターが保存され、復元される場合、呼び出す関数がメモリーの割り当てやグローバル変数の変更を行うと、関数を呼び出してもプログラム状態は保護されません。例えば、関数がグローバルプログラム変数に影響する場合、その変数は永続的に変更されます。

デバッグ情報を含めるデバッガーオプションを指定せずにコンパイルした関数は、重要なパラメーター情報が不足し、呼び出し時に一貫性のない結果を引き起こす可能性があります。

次の例は、call コマンドでは戻り値が破棄されていますが、埋め込まれた呼び出しは、関数の戻り値を print コマンドに渡し、値を出力しています。

(idb) 
					 call earth->distance()
(idb) 
					 print earth->distance()
149600

関連情報


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