5.3.2. GDB の実行
このセクションでは、以下の単純なプログラムを使った GDB の基本的な実行について説明します。
hello.c
以下の手順は、最も基本的な形式でデバッグプロセスを説明しています。
手順5.1 'Hello World' プログラムのデバッグ
- 以下のように、デバッグフラグを使った実行可能ファイルに hello.c をコンパイルします。
gcc -g -o hello hello.c生成されるバイナリーhelloがhello.cと同じディレクトリーにあることを確認します。 helloバイナリーでgdbを実行します (つまりgdb hello)。- いくつかの導入部のコメントの後に、
gdbはデフォルトの GDB プロンプトを表示します。(gdb)
(gdb)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変数
helloはグローバルであるため、メインの手順が開始する前に表示することができます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow printはhello[0]をターゲットとしており、*helloには*(hello + 1)などのような式の評価が必要になることに注意してください。(gdb) p *(hello + 1) $4 = 101 'e'
(gdb) p *(hello + 1) $4 = 101 'e'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次に、ソースをリストします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow listは、fprintf呼び出しが 8 行目にあることを示しています。その行にブレークポイントを適用して、コードを再開します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 最後に、
nextコマンドを使用して、fprintf呼び出しの後に進んでこれを実行します。(gdb) n Hello, World! 9 return (0);
(gdb) n Hello, World! 9 return (0);Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下のセクションでは、GDB のより複雑なアプリケーションについて説明します。