Go to the first, previous, next, last section, table of contents.

GNU Emacs 上での GDB 活用方

GNU Emacs を使っている場合、GDB でデバッグしながらプログラムの ソースファイルを見たり (編集したり) できる特別なインタフェースが 活用できます。

このインタフェースを利用する場合、Emacs の M-x gdb コマンドを 使用して下さい。引数として、デバッグしたい実行可能ファイルを与えます。 このコマンドは、GDB を Emacs のサブプロセスとして起動し、 入出力を、新たに生成した Emacs バッファと接続します。

Emacs の下で GDB を使う場合、次の2つの事を除けば、普通に GDB を使う 場合と同じです:

GDB のI/Oバッファに対して、次の特別な Emacs コマンドを使うことができます:

M-s
他のソースラインを実行します。GDB の `step' コマンドと同じです。
M-n
全ての関数コールをスキップして、関数内の次のソースラインを実行します。 GDB の `next' コマンドと同じです。
M-i
単一インストラクションを実行します。GDB の `stepi' コマンドと同じ です。
C-c C-f
選択されているスタックフレームから抜けるまで、処理を実行します。 GDB の `finish' コマンドと同じです。
M-c
プログラムの実行を継続します。GDB の `cont' コマンドと同じです。
M-u
数引数 (see section `Numeric Arguments' in The GNU Emacs Manual ) で示される数のスタックフレームだけ上に移動します。 GDB の `up' コマンドと同じです。
M-d
数引数で示される数のスタックフレームだけ下に移動します。 GDB の `down' コマンドと同じです。

任意のソースファイル上で C-x SPC (gdb-break) という Emacs コマンドを使用すると、GDB はその位置のソースライン上に ブレークポイントを設定します。

Emacs において Emacs バッファとして普通に表示されているソースファイルは、 通常の方法で取り込まれたソースファイルです。あなたは、望むのならば、 バッファ上のこれらのファイルを編集できます; しかし、GDB は Emacs と行番号によってコミュニケートしていることを 心に留めておいて下さい。もし、あなたがテキストに行を足したり、 削除したりしたら、GDB が知っている行番号はコード上の属性とは 一致しなくなってしまいます。


Go to the first, previous, next, last section, table of contents.