デバッガ

読み:でばっが / 英語表記:debugger

プログラムの実行を途中で中断したり、1行ずつ進めたり、その時点の変数の値を表示したりして、バグの原因の発見を支援するツール。

イマシルちゃんの解説

デバッガは、プログラムの不具合であるバグの原因を調べるためのツールだよ。
たとえば計算結果がおかしいときは、プログラムを途中で止めて処理を確かめられるんだ。
止めたい場所に設定する目印をブレークポイントというよ。
そこでデータを入れておく変数を確認すると、計算の途中でどんな数が使われているか分かるの。
1行ずつ処理を進めるステップ実行で、どこから予想と違う動きになったかも追いかけられるよ。
結果だけでは見えない途中の状態を調べることで、原因となった処理を絞り込みやすくなるんだ。

より深い解説

定義

デバッガは、プログラムの不具合(バグ)を見つけて取り除く作業(デバッグ)を支援するためのツールである。ソースコードを表示しながら、実行中のプログラムの状態を観察・操作できる。

主な機能

機能内容
ブレークポイント指定した行に到達したら、プログラムの実行を一時停止する
ステップ実行1行(1命令)ずつ実行を進める。関数の中に入る(ステップイン)、関数をまとめて実行する(ステップオーバー)などがある
変数の表示(ウォッチ)停止した時点の変数の値を表示する。値を書き換えることもできる
コールスタックの表示どの関数からどの順で呼び出されたかを表示する
条件付きブレークポイント変数が特定の値になったときだけ停止する

デバッグの手法との関係

手法内容
デバッガを使う実行を止めて、状態を詳しく調べる
プリント文(ログ出力)プログラムの途中に、変数の値などを出力する命令を入れる
スナップショットダンプ実行中の指定した時点の、メモリやレジスタの内容を出力する
トレース実行した命令の順序や、変数の値の変化を記録する

開発を支援するツールの区別

ツール機能
デバッガ実行の中断や変数の表示などで、バグの発見を支援する
バグトラッキングシステム見つかったバグの内容や、修正の計画と履歴を管理する
テスト支援ツールテストケースやテスト用のプログラムの作成を支援する
静的解析ツールプログラムを実行せずに、ソースコードを解析して誤りの可能性を指摘する

デバッガはプログラムを動かしながらバグの原因を探す「動的」な道具、静的解析ツールはソースコードを読むだけで問題を見つける「静的」な道具である。

実際の試験ではここに出る!全1問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑