IIS 7(windows 2008)で提供されている従来のASPサイトをデバッグする必要があります。
これどうやってするの?私はASP.NETでしか働いていません。
MSDNのブログ投稿から: http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx
ASPデバッグ作業を行う方法は次のとおりです。
- サーバー上のデバッグASPを有効にします。(asp拡張子にDEBUG verbも追加しましたが、必要かどうかはわかりません)。
- VS 2005では、クラシックASPを開きます。
- ブレークポイントを設定します。
- ブラウザでページを表示するか、デバッグせずに実行します。
- デバッグ|プロセスにアタッチ
- X = 86とScriptを公開し、ScriptとしてアタッチするIIS ASP IIS6上のw3wp.exe)を見つけます。
Eddiegrovesのコメントより:
IIS7のステップ#1について-IIS> ASP> Compilation> Debugging Properties> Enable Server-side Debugging
私はこれが古いことを知っていますが、何か他のものを探していたので、私は他の人を助けるために返信すると思いました。
Visual Studioを使用して、クラシックASPをデバッグできます。
IISのローカルコピーを実行している場合は、デバッガーをw3wp.exeプロセスに接続するだけで、ブレークポイントを設定したり、監視ウィンドウに変数を追加したりできます。
複数のWebサイトがある場合、それぞれを個別のアプリケーションプールで実行すると便利です。また、[プロセスのアタッチ]ウィンドウで異なるw3wp.exeプロセスを識別できます。
デバッガの種類として「スクリプト」を選択します。 IISExpressを実行している場合、iisexpress.exeプロセスはアタッチするのに適切なプロセスです。
有効にするための便利な設定は、サーバーレベルで[〜#〜] asp [〜#〜]> Compilation> Debuggingプロパティ> ブラウザにエラーを送信。それを「True」に設定します。
これは、すべての状況下で適切ではない場合があります(インターネットアクセス可能なサイトなど)。
以下を使用して(オンラインのどこかから取得した)ログファイルに書き込みます。 FirefoxまたはChromeで直接Consoleに書き込む方法をお勧めしますが、これは非常にうまく機能します。
注:「タイムスタンプ」は私のカスタム機能です。あなたはおそらくそれが何をするか推測でき、おそらくあなた自身のものを転がすでしょう。 ;-)
function error_log( message )
dim objFSO, objLog
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLog = objFSO.OpenTextFile( "ASP_errors.log", 8, true)
objLog.WriteLine "[" & timestamp & "] VBS Message: " & message
objLog.close
set objLog = nothing
set objFSO = nothing
end function
組み込みのクラシックASPデバッグはかなり貧弱です。 Firebug + FirePHPで動作するこのASP includeクラスをまとめました。値(文字列、多次元配列、json.aspで作成されたオブジェクトなど)をfirebugコンソールに記録し、ASPの組み込みコレクションオブジェクトを表示できます(特にAjaxを使用するとデバッグデータを出力できない場合) json応答を壊します。)Ajaxスクリプトのロード時間とエラーは、すばやく表示できるように自動的にログに記録されます。
https://github.com/dmeagor/ClassicASP-FirePHP
MITオープンソースライセンスの下でリリース
これは私がそれを理解した方法です:
デバッグポイントをヒットする場所に停止(書き込み停止)を配置します。次に、ブラウザでアプリケーションを実行します。実行が停止すると、Visual Studioでデバッグを実行するように求めるデバッグポップアップが開きます(VSバージョンをインストールする必要があります)。次に、プロセスをアタッチするように求められます。f10、f11を使用して、ステップオーバーを実行できます。addwatchを使用してデータを表示できます。