デバッガとは、ソフトウェアのバグを取り除くための道具である。といっても、ハエトリ紙のようなものではない。 ソフトウェアの動作を微に入り細に入り観察するための道具であり、正確にはバグ観察道具というものが近い。 エスペラントではデバッガのことを erarserĉilo または sencimigilo というが、前者がまさにバグ観察道具という意味のことばだ。語幹を分解すると、 erar-serĉ-il-o となり、誤り(を)探索(する)道具 となる。後者は英語の debugger に近い。sen は・・・なしにという意味の接頭辞、 cimo は虫で、cimigi は「虫を作る」、つまりバグを発生させるという意味になる。il が道具を表すのは erarserĉilo と同じである。
コマンドラインのデバッグは基本である。以下、C や C++ のデバッガである gdb 、Java のデバッガである jdb、Python のデバッガである pdb を対比して示した。
ここでブレークポイントとは、プログラムの実行を中断する場所をいう。
gdb | jdb | pdb | 説明 |
---|---|---|---|
run | run | run | デバッガを起動する |
break | stop | break | 指定場所にブレークポイントを挿入する |
cont | cont | cont | ブレークポイントで中断したプログラムの実行を再開させる |
p | 指定した式などの値を表示する | ||
step | step | step | プログラム中の 1 行を実行する。現在行の文が関数呼び出しの場合、その中の関数に入る。 |
next | next | next | プログラム中の 1 行を実行する。step とは違い、現在行の文が関数呼び出しの場合、関数呼び出しを1行として実行する |
list | list | list | ソースプログラムを表示する |
where | where | where | 関数呼び出しを表示する |
status | clear | break | ブレークポイントの一覧を表示する |
delete | clear | clear | ブレークポイントを削除する |
quit | quit | quit | デバッガを終了する |