次: , 前: Signaling, 上: Altering


11.4 関数からの復帰

return
return expression
returnコマンドによって、 呼び出されている関数の実行をキャンセルすることができます。 式expressionを引数に指定すると、 その値が関数の戻り値として使用されます。

returnを実行すると、 GDBは選択されているスタック・フレーム (および、 その下位にあるすべてのフレーム) を破棄します。 破棄されたフレームは、 実行を完結する前に復帰したのだと考えればよいでしょう。 戻り値を指定したいのであれば、 その値をreturnへの引数として渡してください。

このコマンドは、 選択されているスタック・フレーム (see Selecting a frame)、 および、 その下位にあるすべてのフレームをポップして、 もともと選択されていたフレームを呼び出したフレームを、 最下位のフレームにします。 つまり、 そのフレームが選択されることになります。 指定された値は、 関数から戻り値を返すのに使用されるレジスタに格納されます。

returnコマンドは実行を再開しません。 関数から復帰した直後の状態で、 プログラムを停止したままにします。 これに対して、 finishコマンド (see Continuing and stepping)は、 選択されているスタック・フレームが自然に復帰するまで、 実行を再開、 継続します。