2010-11-30 155 views
28

我調試的ASP.NET應用程序,但有時找不到w3wp既不Visual Studio進程列表(菜單:Debug -> Attach to Process...)也不在task manager。我選擇了「Show processes from all users」和「Show processes in all sessions」複選框。當從localhost運行項目時,在發生一個非常規的異常之後,調試器會附加到w3wp(對於我來說,已經太晚了,無法進入代碼)!不能附加調試器W3WP

爲什麼我有時看不到w3wp?

Windows Server 2008 Enterprise Edition 64-bit, Visual Studio 2010 

回答

70

當您重置IIS或IIS沒有運行,你需要對服務器的呼叫,當你到了服務器首次W3WP過程開始。

+1

是的,撥打本地主機的電話解決了這個問題。自從我將主頁從本地主機改爲Google以後,發生了這種情況! – Xaqron 2010-11-30 11:43:24

+0

只需點擊由您的服務器託管的網站上的任何頁面即可啓動w3wp.exe(IIS應用程序池工作進程)。 – MikeTeeVee 2012-05-03 18:12:22

+0

它工作!打開網頁附加處理。不是之前! – gradosevic 2014-04-02 15:30:44

4

同樣的事情發生在我身上,當我想起IIS有一個空閒超時!上面的過程中,w3wp正在運行,但VS2010看着它處於睡眠狀態,並認爲它沒有運行,所以dos'nt將它顯示在列表中...

旋轉起來IIS [調用從locahost你最喜歡的網絡瀏覽器]重新激活IIS,突然VS現在也可以看到進程[w3wp]

注 - 必須要求MS忽略IIS/w3wp的睡眠狀態,並且它是否處於睡眠模式 - 導致它自動喚醒向上!

謝謝

2

我也遇到了同樣的問題。只需再次構建項目。它會在附加進程列表中顯示w3wp.exe。

3

這個速戰速決,在Visual Studio調試WCF服務時:

  1. 彈出打開您的客戶端應用程序的web.config文件。

  2. 找到未附加到進程中的服務的端點條目。

  3. 按Ctrl +單擊端點URL,以便它在Visual Studio的內部瀏覽器中加載服務窗口。

就是這樣。 IIS將啓動,您現在可以回到您的服務並在進程列表中找到W3WP.exe。

此外,請確保選中「顯示所有用戶的進程」。

2

此外,當附加到進程窗口打開在左下角有一個複選框'顯示所有用戶的進程',確保此複選框被選中,然後它會顯示出來。您也可能需要以管理員身份運行Visual Studio。希望這可以幫助。

6

同樣的事情發生在我身上。更新後我無法找到W3WP!我意識到它沒有顯示所有的過程。選中「顯示所有用戶的進程」複選框是必需的。

1

確保您以管理員身份運行VS.

1

仔細查看您正在調試的頁面的URL,以免它更改爲不同的服務器 - 這種情況很少發生,但發生在我身上。這屬於「檢查你的假設」的範疇。

0

我不怎麼樣,但似乎有一個額外的應用程序綁定到我正在使用的應用程序池。嘗試創建新的應用程序池並將您的應用程序指向新創建的應用程序池。仔細檢查你的新應用程序池只有一個應用程序。