VSN2003デバッガの使い方

メディア教育課の管理する実習室の Windows にインストールされた Visual Studio .NET 2003 で, デバッガを使う方法です.

VSN2003の操作方法にしたがって プログラムを作成したら, エラーがなくなってコンパイルできるようになったけど, 実行してみたら, 期待していた動作をしない, という状況に陥ったとしましょう. そんなときがデバッガの出番です.

  1. ブレークポイント すなわち, プログラムを一時停止させたい点を設定しましょう. 真ん中のソース(プログラム) ソース(プログラム)が表示されている部分で, 問題が発生していると思われるよりも十分に前の行(わからなければ main の最初の行)で右クリックし, ブレークポイントの挿入を選びます(実は, 左の余白で左クリックでもいけます). すると, 左側に赤い丸がつきます. これを繰り返して, 怪しい場所すべてにブレークポイントを設定しましょう.
  2. 実行する. メニューの デバッグ > 開始を選ぶ. するとプログラムが開始され, 赤いマークに黄色の矢印が重なって停止します. 黄色の矢印は次に実行される行を表します.
  3. 変数の値の表示 何がおかしいかは, その付近の変数の値を調べてみるとわかるかもしれません. 値を知りたい変数の上にマウスカーソルを持っていきましょう. 値が表示されます. ただし, これは, 黄色の矢印が指している行の1行前まで実行された時点での値です. マウスカーソルが指す行を実行していたときの値ではありません.
  4. ブレークポイントの削除 十分調べて, ブレークポイントが不要になったら, その行で右クリックメニューからブレークポイントの解除を選びます (実は, 赤丸上で左クリックでもいけます). ブレークポイントの無効化とは一時的に効力を取り消すことです.
  5. ステップ実行 おかしくないようなら, 実行を続けることにしましょう. 実行を続けるには, デバッグメニューの中に, 次のような選択肢があります. 基本は 続行, ステップイン, ステップオーバー, ステップアウトです. 特に, ステップオーバーを繰り返し使うと, プログラムの実行の実際の流れを知ることができます.
    続行次のブレークポイントまで進む.
    ステップインプログラムファイル上で処理の流れにしたがって1行進む. 関数なら, 関数の中に進む.
    ステップオーバープログラムファイル上で流れにしたがって1行進む. 関数なら, 関数を1行と見なす.
    ステップアウト実行中の関数を終了して, 呼び出し側に制御を戻す.
    scanf などの入力の上に黄色矢印がある状態で, ステップオーバーすると, 黄色い矢印が消えます. この状態は, scanf が実行されて, 入力を待っている状態です. ターミナルウィンドウから何か入力すると, 再び次の行に黄色矢印が現れます.
  6. 進んだ使い方 変数がある条件を満たすようになったときのみ停止するブレークポイントとか, いろんな超絶技巧があります. 試してみてね.
  7. デバッグするプログラムに, コマンドライン引数を与えたい場合があります. それは, プロジェクト > プロパティ > デバッグ のコマンド引数で設定できます. これにより, 標準入力, 標準出力に読み書きするプログラムもデバッグできます. たとえば,
    < Q:\kisosem\in.pgm > Q:\kisosem\out.pgm
    
    などとすればいいのです.

参考


Copyright © 2003 Saburo Higuchi. All rights reserved.
樋口三郎 http://www.math.ryukoku.ac.jp/~hig/ hig mail address