デバッグ

デバッグ
• デバッグとは,プログラムのエラーを突きと
め,修正する作業。
• BCB :統合デバッガ
– プログラムの実行の制御
– 変数やデータ構造の項目の値の監視
– デバッグ中のデータ項目の値の変更
デバッグ
プログラムのエラー
• コンパイル時のエラー
• 論理エラー
• 実行時のエラー
統合デバッガで
実行時のエラー 論理エラー
を突きとめる
デバッガの機能
プログラムの実行の制御
• ブレークポイント:
プログラム実行中の変数の値のチェックな
どのために、実行中のプログラムを一時停
止させる、 プログラムコード内の位置(行)
デバッガの機能
プログラムの実行の制御
ブレークポイント:
• 条件無しブレークポイント
設定された行にデバッガがくるとそこで一
旦停止する
• 条件付ブレークポイント
指定した条件が成り立つときにアクティブ
になる
ブレークポイント
• ソースブレークポイント の設定
ブレークポイントを設定したい行をコードエ
ディタで選択し,
– その行の左マージンをクリックする
– その行を右クリックして[デバッグ|ブレークポ
イントの切り替え]を選択する
ブレークポイント
• ソースブレークポイント の設定
ブレークポイントを設定したい行をコードエ
ディタで選択し,
– その行に挿入ポイントを置いて〔F5〕を押す(デ
フォルトのキーマッピングの場合)
– ブレークポイント一覧ウィンドウを右クリックし,
[追加|ソースで設定]を選択する
ブレークポイント
ブレークポイント
• ブレークポイントで停止したプログラムは、
Runボタンを押すことで再開できる。
• また、トレース実行やステップ実行で一行
づつ実行できる。
トレース実行
• トレース実行:F7キー(関数の中まで入っていっ
て実行)
• [トレース実行]コマンドを使うと,1 回に 1 文また
は 1 命令だけコードを実行する。
• 実行ポイントが関数呼び出しの場合には,その
関数を定義しているコードまたは命令の最初の
行に移動し、そこから,その関数を 1 回に 1 文ま
たは 1 命令ずつ実行する。
トレース実行
• 関数リターンの場合,その関数が呼び出さ
れた位置からステップ実行を再開します。
1 回に 1 命令ずつプログラムをステップ実
行することを,シングルステップ実行といい
ます
ステップ実行
• ステップ実行:F8キー(関数単位で実行)
• [ステップ実行]コマンドを使うと、実行ポイ
ントが関数呼び出しのときに,その関数を
通常どおりに実行し,関数呼び出しの次の
行または命令で停止する。
監視式
• コードのデバッグ中に変数や式の値を監
視したい場合には,監視式一覧に監視式
を追加する。
• 監視式一覧ウィンドウには,実行ポイント
(一時停止中の場所)に基づく監視式の現
在の値が表示される。
監視式
• プログラムの実行が停止するたびに,監視
式一覧にリストされたすべての項目をデ
バッガが評価し,値が更新される。
監視式の設定
• コードエディタで監視する項目をマウスでブロックし
て、CTRL+F5を押す。
• [実行|監視式の追加]を選択して,[監視式のプロ
パティ]ダイアログボックスで監視式を設定する。
• 監視式一覧ウィンドウでinsertキーを押して、新しい
変数を記入する。
• 監視式一覧ウィンドウで変数が無い行をマウスでダ
ブルクリック
監視式の設定