現在または指定した関数が戻るまで実行を続けます。
このコマンドは、現在の関数または指定された関数が戻るまで実行を続けます。関数名を指定しない場合、このコマンドは現在の関数の実行を、その呼び出し元に戻るまで続けます。
関数名を指定すると、指定した関数に制御が戻るまで実行を続けます。関数は、コールスタック上でアクティブでなければなりません。
このコマンドは、コールスタックのユーザーの場所に影響を受けます。例えば、関数 C を呼び出す関数 B を関数 A が呼び出したとします。関数 C で実行が停止して、up コマンドを入力した場合、関数 B が関数 C を呼び出した地点の関数 B に移動します。ここで return コマンドを使用すると、関数 A が関数 B を呼び出した関数 A の位置に戻ります。関数 B と関数 C は実行を完了します。
この例では、return コマンドによりユーザールーチン append が終了し、呼び出し元に返ります。その時点で、ユーザーに制御が戻ります。
(idb) cont [1] stopped at [void List<Node>::append(class Node* const):151 0x0804ae6d] 151 Node* currentNode = _firstNode; (idb) return stopped at [int main(void):195 0x080518c8] 195 nodeList.append(new IntNode(3)); {static int somethingToReturnTo; somethingToReturnTo++; }