2011-01-27 79 views

回答

12

在VBScript中,Stop語句可用於觸發斷點。

Response.Write "a line" 
Stop 
Response.Write "a line after the breakpoint 

我假設這是你想要調試的本地IIS7實例。在我的計算機上,當我嘗試加載具有Stop語句的示例頁面時,我得到了Visual Studio Just-In-Time Debugger彈出窗口。您需要提供管理權限才能調試頁面。

您可能還需要在IIS管理器的「ASP」小程序中啓用服務器端調試,但是當我剛纔檢查時,服務器端調試在我的機器上設置爲False。


如果你不介意在運行Visual Studio具有管理員權限(或已經這樣做),那麼你也可以嘗試以下方法:

  1. 使用「文件 - >打開網站.. 。「命令打開該網站(在」本地IIS「部分下)。
  2. 從解決方案資源管理器中,打開要調試的文件並設置斷點。
  3. 選擇「Debug - > Attach to Process ...」菜單項啓動調試器。選擇「w3wp.exe」進程。
  4. 現在,當您嘗試在瀏覽器中加載頁面時,Visual Studio將停止在任何斷點處。

另請注意,如果您對頁面進行更改,更改將保存到磁盤。在工作中,我使用VS2005作爲經典ASP的主編,正是因爲我可以輕鬆設置斷點。


我還沒有嘗試過的第三種選擇可能是最近發佈的IIS Express。它應該專門爲沒有完全管理權限的開發人員設計,因此也許調試不需要提升提示。如果我有機會在接下來的幾天內嘗試,我會更新我的答案。

1
response.write("my value....") 
response.end 
;) 
+0

http://discuss.joelonsoftware.com/default.asp?dotnet.12.294923.6使用vs2003 ... – eloycm 2011-01-27 16:41:11

+1

是的...這很明顯,並沒有真正回答我的問題。我正在尋找一種實際設置斷點的方法。將response.write()放入成千上萬行傳統ASP中以追蹤bug是沒有趣味的。 – 2011-01-27 17:13:46

+1

順便說一句,我會將您的評論與您的​​答案互換爲更具信息性的內容,以及引用您鏈接到的文章的相關部分以防將來參考文獻死亡的良好做法。 – 2011-01-28 15:02:12

0

我已經遇到過這種情況幾次了。這總結了「典型的嫌疑人」。如果您知道更多,請添加修改或評論。

  1. 確保web.config中已調試=「真」

  2. 確保您連接到正確的w3wp.exe進程

  3. 確保與此相關聯的應用程序池配置IIS中的站點將「最大工作進程數」設置爲1(可在「流程模型」部分找到)。

  4. 確保IIS中站點的ASP配置允許客戶端和服務器調試(可在調試屬性部分找到)。

  5. 確保machine.config在部署標記中沒有零售=「True」。該屬性的默認值爲false,這將允許調試。

- SS

0

我不知道任何人面對這個問題,或者沒有。我在VS 7.5上有一個asp.net和經典的ASP混合應用程序在IIS 7.5上。我按照所有必要的步驟來調試經典的ASP,但沒有運氣。最後發現,當我們W3wp.exe自動掛載時,默認情況下它會附帶選項「自動確定要調試的代碼的類型」,我認爲在該選項中,它只確定託管代碼,而不是腳本。我改變它明確選擇代碼的類型進行調試,並選擇「腳本」..哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇呵呵呵呵呵呵呵

還有一件事情,它不允許我一起選擇託管代碼和腳本。