gdbは、GNUデバッガ(GNU Debugger)の略称です。
ここでは、gdbについて解説します。
gdbとは
gdb(CNU Project Debugger)とは、「GNUプロジェクト」が開発したUnix系システムで動くデバッグ用フリーソフトのことです。
コマンドラインからgdbコマンドを実行して起動します。
C言語、C++、FORTRAN、FreeBASIC、Pascalなど、多様なプログラミング言語に対応しています。
プログラムのコンパイル
gcc(Gnu Compiler Collection)を使用してコンパイルします。
gdbを使用してデバッグする場合、コンパイル時にはオプション「-g -O0」を付けてコンパイルする必要があります。
実行ファイル「a.out」が生成されます。
このオプションには、以下の意味があります。
gdbの起動方法としては、「gdbから起動する方法」と「稼働済みプログラムをアタッチする方法」があります。
起動方法
gdbから起動する方法
以下のコマンドを入力します。
「a.out」は、実行ファイルです。
稼働済みプログラムをアタッチする方法
端末Aからプログラムを実行します。
psコマンドでプログラムのプロセスID(PID)を確認します。
一番左端のフィールドに出てくる数字(ここでは26227)がPIDです。
端末Bからgdbを実行します。
gdbのコンソールにてプログラムにアタッチします。
シンボルのロードが完了したらブレークポイントを設定し、continue(c)します。
gdbの実行方法
「run」または「r」と入力します。
gdbの終了方法
「quit」または「q」と入力します。
コマンド集
主要なコマンドを紹介します。