Unable to start debugging on the web server
如果遇到這些錯誤,則需要考慮以下幾個問題:
要檢查的內容
遠程伺服器上的 Web 應用程式
儲存在 Visual SourceSafe 中並使用 FrontPage 伺服器擴充的 Web 應用程式
手動附加
要檢查的內容
如果得到“無法在 Web 服務器上啟動調試”錯誤,請嘗試檢查下列內容:
您是否正在運行一個允許 Visual Studio 調試器自動附加到 Web 應用程式的 Windows 版本?如果不是,則需要啟動應用程式而不調試,然後手動附加到它。(有關更多資訊,請參閱手動附加和 ASP.NET 調試:系統要求。)
您的 Web 應用程式是否具有 Web.config 檔案?
Web.config 檔案是否通過將 debug 屬性設定為 true 而啟用了偵錯模式?有關更多資訊,請參閱 ASP.NET 應用程式中的偵錯模式。
Web.config 是否包含任何語法錯誤?您可以通過運行 Web 應用程式而不調試來檢查是否存在語法錯誤。(從“調試”菜單中,選擇“開始執行(不調試)”。)如果在 Web.config 中存在語法錯誤,則會顯示詳細資料。
您是否是“調試器使用者”(Debugger Users) 組的成員?如果您作為管理員登入,則管理員是否在該組中?
您是否是通過指定特定的 IP 位址(如 100.20.300.400)而建立了項目?調試 Web 服務器要求 NTLM 身分識別驗證。預設情況下,IP 位址被假定為 Internet 的一部分,而在 Internet 上不進行 NTLM 身分識別驗證。若要更正這一問題:
建立項目時,指定 Intranet 上電腦的名稱。
-或-
將 IP 位址 (http://100.20.300.400) 添加到您的電腦上的受信任網站列表中。(從 Internet Explorer 的“工具”菜單中,選擇“Internet 選項”,然後選擇“安全”選項卡)。
運行 IIS 伺服器的電腦是否已安裝了 Visual Studio .NET 遠程組件?
IIS 是否是在安裝了 Visual Studio .NET 之後才被安裝在本機電腦(即運行 Visual Studio .NET 的電腦)上的?IIS 應在安裝 Visual Studio .NET 之前安裝。如果它是後來安裝的,則可能需要修複 .NET 架構。
修複 .NET 架構
<CD Drive>:\dotNetFramework\ dotnetfx.exe /t:c:\temp /c:"msiexec.exe /fvecms c:\temp\netfx.msi"
是否正確地指定了項目起始頁的 URL?副檔名和項目目錄是否正確?
是否正確地設定了 IIS 安全設定?若要驗證這一點,請檢查“預設 Web 網站”設定。
檢查“預設 Web 網站”的 IIS 安全設定
從“開始”菜單中,依次選擇“程式”和“管理工具”,然後單擊“網際網路服務管理員”(Windows 2000) 或“Internet 資訊服務”(Windows XP)。
在“網際網路服務管理員”或“Internet 資訊服務”對話方塊中,單擊您的電腦的樹控制項 (Tree Control)。在“Web 網站”檔案夾中,找到“預設 Web 網站”。
右擊“預設 Web 網站”並選擇“屬性”。
在“預設 Web 網站屬性”視窗中,選擇“目錄安全性”選項卡並單擊“編輯”。
在“驗證方法”對話方塊中,選擇“匿名訪問”和“整合的 Windows 身分識別驗證”(如果尚未選擇的話)。
單擊“確定”以關閉“網際網路服務管理員”或“Internet 資訊服務”對話方塊。
單擊“確定”。
對於 ATL Server 應用程式,請驗證 DEBUG 謂詞是否與您的 ISAPI 擴充相關聯。
對於 ASP.NET 應用程式,請確保應用程式的虛擬資料夾具有在“網際網路服務管理員”或“Internet 資訊服務”中設定的“應用程式名稱”。
為 Web 應用程式指定虛擬資料夾
從“開始”菜單中,依次選擇“程式”和“管理工具”,然後單擊“網際網路服務管理員”(Windows 2000) 或“Internet 資訊服務”(Windows XP)。
在“網際網路服務管理員”或“Internet 資訊服務”對話方塊中,單擊您的電腦的樹控制項 (Tree Control)。在“Web 網站”檔案夾中,找到此 Web 應用程式。
右擊“預設 Web 網站”並選擇“屬性”。
在“預設 Web 網站屬性”視窗中,選擇“目錄”選項卡。
在“應用程式設定”下,單擊“建立”。
應用程式名稱即出現在此框中。
單擊“確定”關閉“屬性”對話方塊。
單擊“確定”以關閉“網際網路服務管理員”或“Internet 資訊服務”對話方塊。
遠程伺服器上的 Web 應用程式
如果 Web 應用程式位於遠程伺服器上,請檢查以下問題:
是否運行了正確的安裝程式以便在伺服器上安裝 ASP.NET/ATL Server 和遠端偵錯工具組件?
您是否是伺服器上的“調試器使用者”(Debugger Users) 組的成員?您是否具有調試在系統帳戶下啟動並執行進程所必需的存取權限?
根據安全設定的不同,ASP.NET 應用程式可能在 inetinfo.exe(IIS 進程)下運行,也可能在 ASP 輔助進程 aspnet_wp.exe 下運行。預設情況下,aspnet_wp.exe 進程作為 SYSTEM 運行。若要調試在 aspnet_wp.exe 下啟動並執行應用程式,您需要具有管理員特權或為 aspnet_wp.exe 編輯 machine.config 檔案,以便 aspnet_wp.exe 在使用者帳戶下運行。若要調試在 inetinfo.exe 下啟動並執行應用程式,您必須是運行 inetinfo.exe 的電腦上的管理員。
根據安全設定的不同,ATL Server 應用程式可能在 inetinfo.exe 下運行,也可能在 ATL 輔助進程 dllhost.exe 下運行。若要調試在 inetinfo.exe 下啟動並執行應用程式,您必須是運行 inetinfo.exe 的電腦上的管理員,或者使用公用語言運行庫應用程式設定將 dllhost 配置為作為特定使用者運行。
您是否正在使用“終端伺服器”嘗試調試遠端電腦上的 Web 應用程式?在 Windows XP 下,支援使用“終端伺服器”對本機 Web 應用程式進行遠端偵錯。而在 Windows 2000 或 Windows NT 下則不支援。
儲存在 Visual SourceSafe 中並使用 FrontPage 伺服器擴充的 Web 應用程式
如果 Web 應用程式儲存在 Visual SourceSafe 中並且使用 FrontPage 伺服器擴充作為它的 Web 存取模式,請檢查以下問題:
Visual SourceSafe 是否與 FrontPage 伺服器/Web 服務器位於同一台電腦上?如果是,則可以使用“整合身分識別驗證”進行調試。(若要檢查“整合身分識別驗證”設定,請參閱此過程以檢查前面的“預設 Web 網站”的 IIS 安全設定。)
解決這一問題的另一種方法是將 Web 存取模式從 FrontPage 更改為檔案分享權限設定 (File Share)。
將 Web 存取模式更改為檔案分享權限設定 (File Share)
啟動應用程式而不調試。(從“調試”菜單中,選擇“開始執行(不調試)”。)
附加到適當的 IIS 進程或輔助進程。預設情況下,對於 ATL Server 應用程式為 inetinfo.exe;對於 ASP.NET 應用程式為 aspnet_wp.exe。使用下面的過程來確定 ASP.NET 或 ATL Server 應用程式在哪個進程下運行。
檢查 ASP.NET 應用程式在哪個進程下運行