小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Visual Studio 2005でクラシックASPをデバッグする方法(On Windows XP Pro)(翻訳)

Visual Studio 2005でクラシックASPをデバッグする方法を探していたら、以下のページを見つけました。Google翻訳を駆使して、訳してみました。

Debugging Classic ASP pages in Visual Studio 2005 on Windows XP Pro

私はかつて、Dreamweaverを使いながら、クラシックASPスクリプトをデバッグしていました。その方法とは、大量のResponse.Write、Response.End文を駆使し、変数の値を逐一ブラウザに出力して、意図したロジックのとおりに動作しているかをチェックするというものでした。しかしながら、最近になって、Visual Studio 2005のデバッガを使用して、クラシックASPをデバッグする方法を見つけました。

この情報は、いくつものブログを参考にし、さらに、それらの長とも言えるMikhail Arkhipov (MSFT)'s WebLog はてなブックマーク - Mikhail Arkhipov (MSFT)'s WebLogのブログからできています。

WindowsXPのIIS5.1は、デフォルトでは、複数のWebサイトをサポートしていません。そのため、はじめに私がしたことは、XP PRO IIS Admin Free Download はてなブックマーク - XP PRO IIS Admin Free Downloadをダウンロードすることでした。IISAdmin from JetStatにより、実行できるサイトは1つですが、複数のサイトを作成できるようになります。
これは素晴らしいことです。http://localhostのURLにフォルダ名を付け加えるだけで、ホスティング環境をミラー化するためのサイトを作成したり、実行する必要のない個々のプロジェクトを無効にしたりすることができます。

それでは、デバッグの方法を説明します。
1.まず、使用するサイトをIISAdminで開始します。

2.コンソールからIIS管理ツールを起動し、選択したサイトのプロパティを表示します。

3.ホームディレクトリタブの構成ボタンをクリックし、「ASPのサーバー側のスクリプトのデバッグを有効にする」にチェックを入れます。

4.Visual Studio 2005でサイトを開き、デバッグしたいページにブレークポイントを設定します。
5.ブラウザを起動し、ページを表示します。
6.Visual Studio 2005に戻り、デバッグメニューから「プロセスにアタッチする」を選択します。
7."アタッチ先"の欄に"スクリプト"と表示されていることを確認します。表示されていない場合は、選択ボタンから"スクリプト"を選択します。
8.プロセスリスト内のdllhost.exeを見てください。表示されていない場合は、「すべてのユーザーからのプロセスを表示する」にチェックを入れます。複数のdllhost.exeが表示されている場合は、Typeが"スクリプト, x86"となっているものを選択します。念のため、ユーザ名の欄を確認してください。このエントリは、マシン名配下のIWAM_マシン名によって実行される必要があります。
エントリを選択し、プロセスにアタッチボタンをクリックします。警告ダイアログが表示されますが、アタッチを選択します。

9.ブラウザに戻り、ページをリロードします。すると、デバッグできるようになります。

トラブルシューティング

もし、ブレークポイントがヒットしない場合は、ステップ1のサーバサイトデバッグの設定に両方チェックを入れてください。有効なブレークポイントが存在しない場合は、ブレークポイントマーカーが濃い赤色に代わり、ツールチップに「ブレークポイントは現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません。」と表示されます。その場合には、"アタッチ先"の欄が"スクリプト"になっているかを確認してください。(ステップ7)