Next: , Previous: Debugger Operation, Up: Debuggers


21.5.3 GUDのコマンド

GUD対話バッファはシェル(shell)モードの変形を使うので、 シェル(shell)モードのコマンドを使えます(see Shell Mode)。 GUDモードでは、ブレークポイントの設定と解除、スタックフレームの選択、 プログラムのステップ実行などのコマンドもあります。 これらのコマンドはGUDバッファでもそれ以外でも使えますが、 キーバインドは異なります。

ブレークポイントコマンドは、普通、ソースファイルのバッファで使います。 というのは、ソース上でブレークポイントを設定/解除するのが自然だからです。 以下はブレークポイントを設定するグローバルコマンドです。

C-x <SPC>
ポイントがあるソース行にブレークポイントを設定する。

以下はその他のGUDモード特有のコマンドです。 C-cで始まるキー列は、GUD対話バッファだけで使えます。 C-x C-aで始まるキー列は、 GUD対話バッファとソースファイル(のバッファ)の両方で使えます。

C-c C-l
C-x C-a C-l
GUDバッファで参照した最後の行を別のウィンドウに表示する (つまり、最新の実行位置メッセージが指す行を表示する)。 これは、コマンドgud-refreshを実行する。
C-c C-s
C-x C-a C-s
ソースコード1行分を実行する(gud-step)。 その行に関数呼び出しが含まれる場合は、呼び出された関数に入ってから停止する。
C-c C-n
C-x C-a C-n
ソースコード1行分を実行し、関数呼び出しでも 停止せずにフルスピードで実行する(gud-next)。
C-c C-i
C-x C-a C-i
機械語1命令を実行する(gud-stepi)。
C-c C-r
C-x C-a C-r
停止位置を指定せずに実行を継続する。 プログラムの実行は、ブレークポイントに出会う、 プログラムが終了する、 デバッガが監視しているシグナルを受け取るまで実行を継続する。
C-c C-d
C-x C-a C-d
現在のソース行にブレークポイントがあるならばそれを削除する (gud-remove)。 GUD対話バッファでこのコマンドを使うと、 プログラムが最後に停止した行に適用される。
C-c C-t
C-x C-a C-t
現在のソース行に一時的なブレークポイントを設定する。 GUD対話バッファでこのコマンドを使うと、 プログラムが最後に停止した行に適用される。

上にあげたコマンドは、(GUDから使える)すべてのデバッガに共通です。 GDBやDBX(のあるバージョン)では、さらに以下のコマンドも使えます。

C-c <
C-x C-a <
1つ外側のスタックフレームを選択する(gud-up)。 これは‘up’コマンドと等価。
C-c >
C-x C-a >
1つ内側のスタックフレームを選択する(gud-down)。 これは‘down’コマンドと等価。

GDBを使う場合には以下のコマンドも使用できます。

<TAB>
GDBでは、シンボル名を補完する(gud-gdb-complete-command)。 このキーはGUDの対話バッファでだけ使える。 また、GDBのバージョンは4.13以降であること。
C-c C-f
C-x C-a C-f
あらかじめ選択したスタックフレームから戻る (あるいは、他の理由で停止する)までプログラムを実行する。

これらのコマンドは、意味がある場合には数引数を反復回数として解釈します。

<TAB>は、補完コマンドとして働くため、 GDBでデバッグしているプログラムへのタブの入力には使えません。 タブを入力するにはC-q <TAB>と打鍵します。