ソフトウェア設計及び演習2017
プログラムの実行(next, step, finish)
先ほどと同様に,実行ファイルを引数として gdb を起動させる.
$ gdb test ...
main 関数にブレークポイントを設定する.
(gdb) break main Breakpoint 1 at 0x400664: file test.c, line 31.
run コマンドでプログラムを実行して,ブレークポイントに一時停止する.
(gdb) run Starting program: /.../test Breakpoint 1, main () at test.c:37 31 show(x, NUM);
step コマンドで show 関数の中に入る.(step コマンドは,関数の中に入って,さらに一行ずつ進めることができる.)
(gdb) step show (x=0x601028, n=3) at test.c:25 25 for (i = 0; i < n ; i++)
step コマンドを実行した後に,show 関数に入ったことが表示される.次に一行ずつnext コマンドで進める.
(gdb) next 26 printf("%d\t", x[i]); (gdb) next 25 for (i = 0; i < n ; i++) (gdb) next 26 printf("%d\t", x[i]); (gdb) next 25 for (i = 0; i < n ; i++) (gdb) next 26 printf("%d\t", x[i]);
finish コマンドを実行すると,show 関数から main 関数に戻る.
(gdb) finish Run till exit from #0 show (x=0x601028, n=3) at test.c:26 3 2 1 main () at test.c:32 32 sort(x, NUM);
continue コマンドを使用してプログラムの最後まで実行する.
(gdb) continue Continuing. 1 3 2 1 2 3 Program exited with code 02.
最後に quit コマンドで gdb を終了させる.
(gdb) quit
最終更新日:2017/04/03 09:14:17