![](/img/trans.png)
[英]How do I get Visual Web Developer to use IIS, and not ASP.NET development server?
[英]How do I attach the debugger to IIS instead of ASP.NET Development Server?
我有一個ASP.NET網站,當我按F5鍵時,它會自動附加到ASP.NET開發服務器上,當我按F5鍵時,如何附加到IIS工作進程?
調試->附加到處理...
從列表中選擇aspnet_wp.exe進程。
如果您正在運行IIS>版本5,則該過程將為w3wp.exe ,並且每個應用程序池都有一個(因此,如果您不知道要擊中哪個應用程序池,則需要將其附加到所有其中)。
打開項目屬性,轉到Web選項卡,然后為IIS選擇選項。
實際上,這將在IIS中啟動該應用程序的實例並附加調試器。 如果只想附加到現有的IIS實例,請從調試菜單中選擇“附加到進程”。
從VS菜單中的Debug-> Attach to Process。
為了知道要附加到哪個w3wp.exe進程,您可以在2008服務器上使用以下命令
c:\%systemroot%\system32\inetsrv\appcmd list wp
在Windows 2003上是
c:\%systemroot%\system32\cscript iisapp.vbs
有關更多信息,請參見IIS應用程序池PID 。
但是,如果可以訪問任務管理器(taskmgr.exe),則可以直接在其中看到進程名稱以及進程ID,並且在大多數情況下,該進程的“用戶名”列將與應用程序相同。池名稱,(當然,您必須將這些列設置為在任務管理器中可見,以便查看信息)。
但是請注意,所有方法將僅顯示當前正在運行的進程,這意味着,如果您的特定進程由於空閑時間而關閉,則必須首先使用該站點才能在列表中顯示該進程。
同樣,如果該應用程序是“ Web Garden”(具有多個w3wp.exe),則即使附加到正確的進程之后,也仍然無法保證會遇到斷點,因為到該站點的流量可能會定向到另一個站點。處理。
還要注意,如果您附加到在發布模式下運行的應用程序,則現在它將改為在調試模式下運行,這意味着,例如,將沒有超時限制(如果您實際上嘗試執行以下操作,可能會出現問題:解決超時錯誤)。
如果要附加到遠程進程,這里是最佳做法:
當然,這個主題還有很多,並且對於調試本機代碼而言,該過程可能甚至更簡單,但是我在這里列出的步驟在每種情況下都應該起作用。
有關更多信息,請訪問http://www.codeproject.com/KB/aspnet/IISRemoteDebugging.aspx或MSDN上的內容,以及該站點上的許多帖子。
希望這會有所幫助。
或者,您可以使用“附加到IIS的 Visual Studio 插件”之一 。
我首選的擴展是VSCommands(適用於VS 2010-2012或2013 ,但不適用於2015)或ReAttach (適用於2017)。
轉到Web應用程序的屬性。 選擇“啟動選項”部分,然后從“使用默認Web服務器”更改為“使用自定義服務器”。 在基本網址中輸入“ http:// localhost ”。
(假設是VS 2008)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.