GUDでは、ブレークポイントの設定・解除、スタックフレームの選択、プログラムのステップ実行を行うためのコマンドが用意されています。
そのポイントがあるソース行にブレークポイントを設定します。
C-x C-a C-b (gud-break)
をソースバッファ内で呼び出すと、現在のソース行にデバッガのブレークポイントが設定されます。このコマンドは GUD
を起動した後にのみ利用可能です。デバッガのサブプロセスに関連付けられていないバッファ内で呼び出した場合は、エラーとなります。
以下のコマンドは、GUDインタラクションバッファとグローバルの両方で利用可能ですが、キーバインドが異なります。C-cで始まるキーはGUDインタラクションバッファでのみ利用可能であり、C-x C-aで始まるキーはグローバルで利用可能です。これらのコマンドの一部はツールバーからも利用できますが、一部のデバッガではサポートされていません。
GUDインタラクションバッファ(gud-refresh)で参照された最後のソース行を、別のウィンドウに表示します。
次の1行のコード (gud-step)
を実行します。その行に関数呼び出しが含まれている場合、呼び出された関数に入った時点で実行が停止します。
次の1行のコードを実行し、関数内部で停止することなく関数呼び出しをまたいでステップを進める(gud-next)。
単一のマシン命令(gud-stepi)を実行する。
点 (gud-print) における式を評価します。Emacs
が意図した通りの式をそのまま表示しない場合は、まずそれをリージョンとしてマークしてください。
停止地点を指定せずに実行を継続します。プログラムは、ブレークポイントに到達するか、終了するか、あるいはデバッガが監視しているシグナル(gud-cont)を受信するまで実行されます。
現在のソース行にあるブレークポイント(もしあれば)を削除します (gud-remove)。GUDインタラクションバッファでこのコマンドを使用した場合、プログラムが最後に停止した行に適用されます。
現在のソース行に一時的なブレークポイントを設定します(gud-tbreak)。GUDインタラクションバッファでこのコマンドを使用した場合、プログラムが最後に停止した行に適用されます。
次の包含スタックフレーム (gud-up) を選択します。これは GDB コマンド
‘up’ と同等です。
次の内側スタックフレーム (gud-down) を選択します。これは GDB コマンド
‘down’ と同等です。
現在の行(gud-until)まで実行を継続します。プログラムは、ブレークポイントに到達するか、終了するか、デバッガが監視しているシグナルを受信するか、あるいは現在カーソルがある行に到達するまで実行されます。
選択したスタックフレームが復帰するか、またはその他の理由で停止するまでプログラムを実行します (gud-finish)。
GDBを使用している場合は、以下の追加キーバインドが利用可能です。
ソースバッファでのみ有効な gud-jump
は、プログラムの実行位置を現在の行に移動します。言い換えれば、プログラムが次に実行する行は、コマンドを入力した行になります。新しい実行行が直前の行とは異なる関数にある場合、結果が不可解になる可能性があるため、GDB
は確認を求めます。詳細は jump に関する GDB マニュアルの項目を参照してください。
GDBでは、シンボル名(gud-gdb-complete-command)を完成させます。このキーはGUDインタラクションバッファでのみ使用可能です。
これらのコマンドは、妥当な場合には数値引数を繰り返し回数として解釈します。
TAB は補完コマンドとして機能するため、GDB でデバッグ中のプログラムへの入力としてタブを入力するには使用できません。代わりに、C-q TAB と入力してタブを入力してください。