2009年3月25日 星期三

利用Visual Studio 偵錯 ASP網頁

你可以下載「利用Visual Studio偵錯 asp.pdf」,裡頭有完整的截圖


這個方法在2003上可行,在2005上沒試過,2008上試不出來,如果有人知道如可在 Visual Studio 2008 上偵錯 ASP 系統,請告訴我! 設定完成後,即可對 ASP 網頁進行偵錯。

一、先確認 Localhost上的 IIS 已安裝 FrontPage Server Extensions,而且虛擬目錄上也完成「設定伺服器擴充程式」

二、在虛擬目錄內容的設定→偵錯→啟用ASP伺服器端指令碼偵錯。

三、在目錄安全規定頁籤中,啟用「整合式Windows驗證」

四、在「ASP.NET」頁籤中,修改 ASP.NET版本為 1.1.x ,目前測試只有在1.x版本才能進行 ASP 偵錯,2.x 會有權限問題。

五、虛擬目錄的實體權限中,必須賦予 VS Developesr IWAM_host 有讀寫的權限,而且你登入本機的帳號要在 VS Developesr 群組內。

六、 Visula Studio 中新增ASP.NET Web應用程式專案(如果 ASP 目錄已設為專案,則略過此步驟),專案名稱就是 IIS 上的虛擬目錄名稱。

六a.新增 ASP.NET Web應用程式後,會自動新增幾個檔案(WebForm1.aspx, Global.asax ..),除Web.Config 外,餘可刪除。

七、完成新增專案後,要將現有的 ASP 網頁加到專案中,先在方案總管中「顯示所有檔案」,接著利用滑鼠右鍵,在非專案內容的項目上選擇「加入至專案

八、在專案名稱上按右鍵,設定專案屬性中的「偵錯」組態,須將「ASP 偵錯」打勾,但 「ASP.NET 偵錯」不可打勾

九、Web.Config 中的 <customErrors mode="RemoteOnly" /> 請改成 "Off"

十、完成步驟三、及步驟四、後,即可「重建專案」,若有錯誤,請先更正,如果沒有錯誤即可進行所有偵錯作業。每次重新啟動 Visual Studio 2003 並載入專案,第一次偵錯時,皆會要求帳號及密碼,請輸入你登入本機的帳號及密碼(帳號須加到 VS Developers群組中),你可以試看看別的帳號可否有權進行偵錯!

十、如果要對網頁上的 JavaScript 進行偵測,則必須先將 Localhost 加到信任網站,並且取消「停用指令碼除錯(Internet Explorer)」選項。

十一、 單單完成設定,遇到 JavaScript 的中斷點依舊不會停駐,請手動在網頁的 中加入 onLoad="bugger;" 以喚醒 Script 的偵錯器。

後記:

一、上面的方法是在 localhost 上的IIS,如果要偵錯遠端機器,需在遠端機器上安裝 MsVsMon.exe、開啟 RPC 服務,且虛擬目錄的對應實體目錄要賦予 Debugger 讀寫權限,但這個方法沒試過。

二、在網路上有找到 IE 上的 JavaScript 的偵錯工具—IE Developer ToolBar ,但因利用Visual Studio 就可以偵錯,所以沒有再試( FireFox 上也有 Web Developer 對應)

三、如果程式碼中有利用到 Server.CreateObject(" ") 來建立物件,請在 Web.config中的區段內加入:

四、如果發生「伺服器物件…Server.CreateObject 失敗」,請先查閱「元件服務」中指定的物件是否存在(已註冊),若無,請先註冊 (regsvr32.exe)

五、如果在啟動偵錯時,出現「請確認您屬於目前嘗試要進行偵錯的電腦中的系統管理員或'Debugger Users'群組的成員。加入 'Debugger Users'群組後,您必須先登出再登入後才能將套用

請檢查IE中「網際網路選項」à「安全性設定」à「自訂層級」中之「使用者驗證」à「使用目前的使用者名稱及密碼來自動登入」是否已被選取(需被選取),如果未選取,請選取後,關閉所有IE,再重新執行偵錯!

沒有留言:

張貼留言