2007/11/06

Emacs上でGDBを使用してデバッグする

Emacs上でGDBを使用してC言語のプログラムをデバッグする方法をまとめます。
デバッグするプログラムは「sample.c」という簡単なプログラムです。

使用環境: Ubuntu Linux7.10 Emacs22 GDB6.6

■ sample.c

#include <stdio.h>

void greeting(char *name);

int main(int argc, char *argv[]) {

int num1 = 10;
int num2 = 100;

int result = num1 + num2;

printf("result=%d\n", result);

greeting("satoshi");

return 0;
}

void greeting(char *name) {
printf("Hello %s.\n", name);
}


1. まず最初に「sample.c」をコンパイルします。
gcc -o sample -g samole.c

2. Emacsにて「M-x gdb 」と入力後、ミニバッファにデバッグするプログラムを指定します。


3. ミニバッファに「Run gdb (like this) : gdb --annotate=3 sample」と表示されるので、リターンキーを押してください。



4. Emacsの画面が切り替わり「(gdb)」と表示されます。



5. b main と入力してmain関数にブレークポイントを設定します。



6. run と入力してプログラムを実行するとmain関数で止まります。




7. C-c C-n を入力して次の行にステップします。
print num1 と入力して変数num1の値を表示します。



8. C-c C-nを入力してgreeting関数まで進み、C-c C-sを入力してgreeting関数の中をステップ実行します。
するとgreeting関数の最初で止まります。



9. C-c C-f を入力してプログラムを最後まで実行してデバッグを終了します。



以上がEmacs上でGDBを使用してデバッグする簡単な例です。
Emacs上でGDBを使用してデバッグしたいと思っている方の足がかりになれば?と思っております。

もっと詳しい使用方法を知りたい場合は、下記の書籍を参照してみてください。

ラベル: , ,

0 件のコメント :

コメントを投稿

この投稿へのリンク :

リンクを作成

<< ホーム