個人的にエディタはviを使用しているので、Emacsは普段使用していないのですが、デバッグ作業においてはEmacs + gdbで行う方が断然効率が良いので、操作方法は抑えておいて損はないです。
Emacs + gdbでのデバッグ方法
- コマンド「emacs -nw」でEmacsを起動します。オプション「nw」で新しくウィンドウを生成せずに同じターミナル内でEmacsを起動しています。
- コマンド「Esc + x gdb」でgdbを起動します。「Esc + x」でコマンド入力モードへ切り替わります。
- コマンド「gdb ファイル名」でデバッグする実行ファイル名を指定します。「a.out」がデバッグを実行するファイル名となります。
- コマンド「b main」でブレイクポイントを指定します。ブレイクポイントの指定は「b 行番号」または「break 行番号」でもOKです。
- コマンド「r」で指定したブレークポイントまでプログラムを実行します。r:runの略。
- ブレイクポイントまで処理を進めたら「n」コマンドで、次行へ処理を進めてみましょう。n:nextの略。左記画面では9行目で処理が止まっている状態となります。nextコマンドは他の関数へはジャンプしません。
- 今度は次のステップまで処理を進めて見ましょう。s:stepの略。stepコマンドは他の関数へもジャンプします。
- コマンド「print i」で変数iの内容を確認してみましょう。
- コマンド「c」で残りのステップを最後まで一気に実行します。c:continueの略
- コマンド「q」でgdbを終了します。q:quitの略。
- コマンド「Ctrl + x + c」でEmacsを終了します。