現在の関数が戻るまで実行を続けます。
このコマンドは、呼び出し元に戻るまで現在の関数の実行を続けます。
finish コマンドは、コールスタックの場所に影響を受けます。例えば、関数 C を呼び出す関数 B を関数 A が呼び出したとします。関数 C で実行が停止して、up コマンドを入力した場合、関数 B が関数 C を呼び出した地点の関数 B に移動します。ここで finish コマンドを使用すると、関数 A が関数 B を呼び出した関数 A の位置に戻ります。関数 B と関数 C は実行を完了します。
次の例は、append メソッドを完了し、呼び出し元に制御を返します。
(idb) continue Continuing. Breakpoint 1, List<Node>::append (this=0xbfffcbe0, node=0x805c540) at src/x_list.cxx:151 151 Node* currentNode = _firstNode; (idb) finish main () at src/x_list.cxx:195 195 nodeList.append(new IntNode(3)); {static int somethingToReturnTo; somethingToReturnTo++; }