処理を変更する
デバッグ上で処理を変更してうまくいったらソースに反映する,なんてできると嬉しい.
プログラムを実行して停止したときに変数の値を設定することができる.プログラムにint変数xがあってそれを10に設定したいとすると,
print x=10とか
set x=10とか
set variable x=10などとする.setとset variableの違いはsetでは変数名次第でgdbコマンドとバッティングすることがあるが,set variableではそれを回避できる点である.また,それぞれの「x=10」は式であり,ここで関数呼び出しなどもできる.
処理のフローを変更するものとして,以下がある.
- jump XXX
- 指定した関数や行XXXに飛ぶ.飛んだあと処理は続いてcontinueと同じ条件で止まる.
- signal
- これはシグナルの項で記述した.
- return XXX
- 現在の関数から返る.返り値XXX.finishとの違いはreturnはその場で強制的に返るのに対し,finishは関数を最後まで実行して返る点である.また,returnしたあと,処理は再開されない(停止状態となる).

