小さい頃はエラ呼吸

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


Visual Studio 2005でクラシックASPをデバッグする方法(まとめ)

クラシックASPは、Visual InterDevでデバッグすることができますが、Visual InterDevはUTF-8のソースコードを表示できないという問題があります。この問題を回避するには、Visual Studio 2005(Visual Web Developer)を利用します。
以下、Visual Studio 2005でクラシックASPのデバッグする方法をまとめてみました。

クラシックASPのサーバサイドデバッグ
  1. 管理ツールからインターネットサービスマネージャを起動します。そして、デバッグ対象のサイトを選択し、プロパティを表示します。
  2. ホームディレクトリタブの構成ボタンをクリックし、「ASPのサーバー側のスクリプトのデバッグを有効にする」にチェックを入れます。
  3. Visual Studio 2005でローカルIIS内のWebサイトを開き、デバッグしたいページにブレークポイントを設定します。
  4. ブラウザを起動し、ページを表示します。
  5. Visual Studio 2005に戻り、デバッグメニューから「プロセスにアタッチ」を選択します。
  6. "アタッチ先"の欄に"スクリプト"と表示されていることを確認します。表示されていない場合には、選択ボタンから"スクリプト"を選択します。
  7. プロセスリスト内にdllhost.exeが存在することを確認します。表示されていない場合には、「すべてのユーザーからのプロセスを表示する」にチェックを入れます。複数のdllhost.exeが表示されている場合は、Typeが"スクリプト, x86"となっているものを選択します。念のため、ユーザ名がIWAM_マシン名になっていることも確認してください。
  8. 「アタッチ」をクリックします。警告ダイアログが表示されますが、アタッチを選択します。
  9. ブラウザに戻り、ページをリロードします。すると、ブレークポイントで、スクリプトがストップし、ステップ実行ができるようになります。
Global.asaのデバッグ

スクリプト中にstopステートメントを記述することで、Global.asaをデバッグすることができます。*1

デバッグ中に Global.asa ファイル内でブレークするには

  1. テキスト エディタで Global.asa ファイルを開き、スクリプトにブレークポイントを設定します。またVBScript Stop ステートメントまたは JScript debugger をプロシージャの最初、ステップ実行するステートメントの前に配置します。
  2. ブラウザで現在のプロジェクトの ASP ページを要求します。これで、IIS は Global.asa ファイルを実行し、ブレークポイント、Stop ステートメント、または debugger ステートメントで停止します。

方法 : Global.asa ファイルのデバッグ はてなブックマーク - 方法 : Global.asa ファイルのデバッグ

JavaScriptのクライアントサイドデバッグ
  1. Internet Explorerのインターネットオプションから、スクリプトのデバッグを有効にします。(後述)
  2. ステップ実行させたいコードにdebuggerステートメントを記述します。
  3. ブラウザを起動し、デバッグしたページを表示します。
  4. 2010.01.25追記。ASPのデバッグと同じように「プロセスにアタッチ」から、IEのプロセスにアタッチします。(dllhost.exeではありません。)
  5. スクリプトがdebuggerステートメントにヒットすると、デバッガを自動的に起動するため、するとステップ実行できるようになります。*2
Internet Explorer でスクリプトのデバッグを有効にする

Internet Explorer でスクリプトのデバッグを有効にするには
1.[ツール] メニューの [インターネット オプション] をクリックします。
2.[インターネット オプション] ダイアログ ボックスの [詳細設定] タブをクリックします。
3.[ブラウズ] の下の [スクリプトのデバッグを使用しない] チェック ボックスをオフにします。
4.[OK] をクリックします。
5.Internet Explorer を終了して再起動します。
方法 : Internet Explorer でスクリプトのデバッグを有効にして起動する はてなブックマーク - 方法 : Internet Explorer でスクリプトのデバッグを有効にして起動する

*1:ブレークポイントを設定する方法では、ブレークポイントで、スクリプトがストップしませんでした。

*2:こちらも、ブレークポイントを設定する方法では、ブレークポイントで、スクリプトがストップしませんでした。継続して調査する予定です。