#はじめに
Visual Studio のデバック機能を利用して、Classic ASP(VBScript)をデバッグする方法を書きます。
#Visual Studio Expressのインストール
Express 2017 for Windows Desktop
上記ページ内、赤枠の箇所をクリックしてダウンロードしたインストーラを実行してインストールを行います。
「Express」よりも機能が豊富な「Community」とうエディションも使用可能ですが、商用利用においては条件がありますので詳細については公式サイトをご参照下さい。
#ブレークポイント
インストールしたVisual Studio を「管理者で実行」で起動します。
起動後、メニューバーの「ファイル」>「開く」>「ファイル」からデバッグしたいファイルを開き、処理を止めたい行をクリックしてブレークポイントを設定します。
特定の条件の場合にだけヒットさせたい場合は赤丸の箇所を右クリック>「条件」で条件を指定することが出来ます。
「ブレークポイント」ウィンドウで設定したブレークポイントが一覧で見ることが出来ます。
#デバック実行
以下の通り設定し、「w3wp.exe」プロセスを選択して「アタッチ」を押下します。
ブレークポイントを設定したファイルを使用している処理を動かすと、以下のようにヒットします。
#ステップ実行
主な機能 | 説明 |
---|---|
ステップ イン(F11) | 1行ずつ実行します。 |
ステップ オーバー(F10) | 1行ずつ実行しますが、メソッド内はスキップします。 |
ステップ アウト(Shift + F11) | メソッド内から呼び出し元の処理までスキップします。 |
続行 | 次のブレークポイントまでスキップします。 |
デバッグの停止 | デバッグを終了します。 |
以下はステップ インを実行した場合です。
#ステップの巻き戻し、値の書き換え
以下のようにステップの巻き戻し、「ローカル」または「ウォッチ」ウィンドウで変数に格納されている値を書き換えが出来るため、単体テストを効率的に行うことが出来ます。
#呼び出し履歴
「呼び出し履歴」でデバッグ中の行がどのメソッドからどのような順番で呼ばれているかを確認することが出来ます。
#おわりに
簡単な実装であれば標準出力を使ったデバッグでも可能ですが、ステップが多く複雑な実装であればツールを使う方が効率的です。
Visual Studioを使うことでClassic ASP(VBScript)でもデバッグや単体テストが簡単に行えるので、是非お試し頂ければと思います。