2013-11-04 54 views

答えて

2

私は、私の知る限りは、Visual StudioはネイティブのASP古典的なコードをデバッグすることはできません知っているようにそれをテストするためのVisual Studio 2012を持っていません。 私のaspの古典的なコードをデバッグする方法は、私がデバッグしたいものの上の行にstop文を入れることです like this post says。ブレークポイントはストップで入力しているだけです。上記の例では

function DoDate(inp) 
    stop 
if isnull(inp) then 
    DoDate = "Never" 
    exit function 
end if 

ページロード時にあなたがそれをデバッグしたい場合、あなたはその関数をステップ実行しても、あなたは通常と同じような変数を参照することができブレークポイントで停止し、尋ねるダイアログをポップアップ表示されます。

注:リンクにはVisual Studio 2005が記載されていますが、2010年にも動作します(2012年にも動作するはずです)。また、DEBUG拡張機能は必要ありません。

また、IISでサーバー側のデバッグを有効にしていることを確認してください。これは動作しません。

+3

VS2012は、両方の全脂肪IISを使用してネイティブにクラシックASPコードをデバッグすることができますおよびIIS Express。 – Kev

+0

@ user2255811あなたの答えは私を救った、私はそれを動作させるために多くの時間を費やした。最後に、トリックを止めてください。ありがとうございます – Smaug

7

まず、従来のASPスクリプトのサーバー側のデバッグを有効にする必要があります。次のコマンドを実行することです:[YOUR_SITE_NAME]はあなたのウェブサイトの名前です

"C:\Program Files (x86)\IIS Express\appcmd.exe" set config "[YOUR_SITE_NAME]" -section:system.webServer/asp /appAllowClientDebug:"True" /appAllowDebugging:"True" /commit:apphost 

。この名前を見つけるには、

%USERPROFILE%\Documents\IISExpress\config\applicationhost.config 

...を開き、あなたのサイトを検索してください。

次に、コマンドラインからIIS Expressインスタンスを起動します。

"C:\Program Files (x86)\IIS Express\iisexpress.exe" /config:c:\users\kevin\Documents\IISExpress\config\applicationhost.config /site:"[YOUR_SITE_NAME]" /apppool:"Clr2IntegratedAppPool" 

ここでも、[YOUR_SITE_NAME]はあなたのIIS Expressのウェブサイトの名前です。

次に、Visual Studio 2012のデバッガを接続し、デバッグするスクリプトにブレークポイントを設定します。あなたのサイト/スクリプトを参照して、アップブレークポイントライト表示されるはずです。それは私のウェブサーバが実行され、Casiniとの違いに問題があったものだとして

enter image description here

+0

あなたの答えは非常に詳細で有用です。しかし、私はIISExpressを添付するだけで、それはデバッグのためのファイルを持っていない空白の画面を示しています。 aspコーディングでstopを置くと、デバッグのためにすべてのファイルがロードされました。この奇妙な行動の理由は何ですか? – Smaug

+0

デバッグするスクリプトをソリューションに追加しましたか?あなたはそれを行い、ブレークポイントを設定する必要があります。 – Kev

+0

+1これは機能しました! ...私のプロジェクト/サイトのASPファイルの小さなセット。 [このフォローアップの質問](http://stackoverflow.com/q/38937879/2662901)をご覧になれますか? – feetwet

0

私は私のdevのマシン上で本格的なIISを使用して好きにIISは過去には...

とにかく、私は@Kevが提案した方法ではできませんでした。私は+読書についてもっと遊んだり、 "Attach To Process"ウィンドウで "Attach To:"オプションで "Script Code"を選択する必要があることを発見しました。

1) F9 to set breakpoints in code 
2) Ctrl-Alt-P to attach to process 
3) Next to "Attach To:" click on the "Select" button 
4) Select "Script Code" 
5) In my case, attach to "w3wp.exe" 

コードのデバッグをお楽しみください。

+0

こんにちは、私はこれを試しました - それは私のブレークポイントで停止しますが、私は何かの値を見ることができません。変数のいずれかをマウスで操作することは何もしません。助言がありますか?これはIIS 8.5(win 8.1)と2012年です。 – merk

+0

Hmmm ....私は前にこれを見ていません。時にはideにマウスオーバーして値がないような問題があります。これは通常、変数からマウスを離して戻すことで修正されます。それ以外の場合は、[ウォッチ]ウィンドウまたは[イミディエイト]ウィンドウを使用できます。かなり便利ではありませんが、通常は実行可能です。クイックウォッチの場合はCtrl-F9(??)を押します。 – Ads

+1

変数を強調表示(ダブルクリックすると強調表示されます)し、その上にマウスを置いてみてください。私はまた、変数の上にマウスを置いてその値を見ることができないと思ったが、次に強調して(マウスでテキストを選択し)、それを乗り越えて機能した。 – Lee

1

IISに移動 - > ASP - >デバッグプロパティ - >クライアント側とサーバー側のデバッグを有効

その後、VS2012

からプロセスをW3WP添付
関連する問題