Go to the first, previous, next, last section, table of contents.
GNU Emacs を使っている場合、GDB でデバッグしながらプログラムの
ソースファイルを見たり (編集したり) できる特別なインタフェースが
活用できます。
このインタフェースを利用する場合、Emacs の M-x gdb コマンドを
使用して下さい。引数として、デバッグしたい実行可能ファイルを与えます。
このコマンドは、GDB を Emacs のサブプロセスとして起動し、
入出力を、新たに生成した Emacs バッファと接続します。
Emacs の下で GDB を使う場合、次の2つの事を除けば、普通に GDB を使う
場合と同じです:
-
"端末"への全ての入出力は Emacs バッファを介して行われます。このことは、
GDB のコマンドやそれらの出力、そしてデバッグ中のあなたのプログラムの
入出力の両方に対して適用されます。
このことにより、直前のコマンドのテキストをコピーし、再びそれを入力
したりできるようになりますので、便利です。
この目的のため、Emacs シェルのモードが供給する全ての便宜は有効になって
います。
-
GDB は、Emacs を介してソースコードを表示します。GDB がスタック
フレームを表示する場合、Emacs はそのフレームに対するソースファイルを
自動的に捜し出し、カレントの行の左端に矢印 (`=>') を置きます。
GDB のあからさまな `list' コマンドやサーチコマンドは普通の
出力結果を生成しますが、あなたがこれらを使う特別な理由は、恐らくない
でしょう。
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.