2009-07-16 136 views

回答

34

從MSDN博客文章:http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

這裏是如何使ASP調試工作:

  1. 在服務器上啓用ASP調試。 (我還在asp擴展中添加了DEBUG動詞,但我不確定是否需要)。
  2. 在VS 2005中打開經典ASP。
  3. 設置斷點。
  4. 在瀏覽器中查看頁面或運行時未經調試。
  5. 調試|附加到進程
  6. 定位IIS ASP工作進程(IIS6上的w3wp.exe),它將公開x86和腳本並作爲腳本附加。下面

從eddiegroves評論:

關於在IIS7第1步 - IIS> ASP>編輯>調試屬性>啓用服務器端調試

+6

步驟1:在服務器上啓用ASP調試.....你是怎麼做的?! – 2009-07-16 14:58:55

+3

我不知道。但谷歌的第一次打擊看起來很有希望:http://technet.microsoft.com/en-us/library/cc738693(WS.10).aspx – 2009-07-16 15:01:47

+0

我會給它一個鏡頭。謝謝。 – 2009-07-16 15:05:57

2

內置在傳統的ASP調試很差。我把這個ASP放在一起,包括與Firebug + FirePHP一起使用的類。它允許您將值(包括字符串,多維數組,甚至是使用json.asp創建的對象)記錄到螢幕控制檯,並查看ASP內建的集合對象,這可以提供幫助(尤其是在Ajax中,無法輸出調試數據打破json響應。)自動記錄Ajax腳本加載時間和錯誤以便快速查看。

https://github.com/dmeagor/ClassicASP-FirePHP

下MIT開源許可

5

發佈我意識到這是老了,但想到我會回答去幫助別人,因爲我一直在尋找別的東西了。

您可以使用Visual Studio來調試經典ASP。

如果您正在運行IIS的本地副本,只需調試器附加到w3wp.exe進程,並可以設置斷點,添加變量觀察窗等

如果你有超過1個網站,在單獨的應用程序池中運行每個應用程序池都很有幫助,並且您可以在「附加進程」窗口中識別不同的w3wp.exe進程。

只需選擇「腳本」作爲調試器類型。如果您正在運行IISExpress,則iisexpress.exe進程是正確的進程。

3

我發現一個有用的設置,以使在服務器級別下ASP>編譯>調試屬性發現>將錯誤發送到瀏覽器。將其設置爲「True」。

這可能不適合所有情況下(例如對於可訪問因特網的網站)。

0

這是我琢磨出來的辦法:

制止(寫入停止)你想上哪兒打調試點的地方。然後在瀏覽器上運行應用程序。當執行停止時,它會打開調試彈出窗口,詢問是否使用Visual Studio進行調試(必須安裝VS版本)。然後,它會要求附加該過程,並且您可以使用f10,f11逐步進入。您可以使用add watch查看數據。

0

我使用以下(我從某處在線獲得)寫入日誌文件。我更喜歡一種直接在Firefox或Chrome上編寫控制檯的方法,但這對我來說非常合適。

注意:「timestamp」是我的一個自定義函數。你大概可以猜出它的作用,並可能推出自己的。 ;-)

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