Cannot attach debugger to w3wp

2019-01-23 23:38发布

问题:

I'm debugging an ASP.NET application but sometimes cannot find w3wp neither in Visual Studio process list (Menu: Debug -> Attach to Process...) nor in task manager. I have selected 'Show processes from all users' and 'Show processes in all sessions' check boxes. When run the project from localhost, after an unhanded exception happens debugger would attach to w3wp (too late for me to step into code) !

Why I cannot see w3wp sometimes ?

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

回答1:

When you reset IIS or IIS is not running, you need to make a call to the server, when you hit the server for the first time the w3wp process starts.



回答2:

THe same thing happened to me. After an update I couldnt find the W3WP! I realized that it didnt show all the processes. Checking the checkbox 'Show processes from all user' was required.



回答3:

Same thing was happening to me, when i remembered that IIS has an idle timeout! As above the proc w3wp is running, but VS2010 looks at it in the sleep state and thinks its not running, so dos'nt show it in the list...

spinning up IIS [calling a site served from locahost in your favourite web browser] reactivates IIS and suddenly VS can see the process [w3wp] now too

NOTE - must ask MS to ignore the sleep state of IIS/w3wp and if it is in sleep mode - cause it to automatically wake up!

thanks



回答4:

Quick fix for this, when debugging WCF services in Visual Studio:

  1. Pop open your client app's web.config file.

  2. Find the endpoint entry for the service that isn't appearing in Attach To Process.

  3. Hit Ctrl+Click on the endpoint url, so that it loads the service window in Visual Studio's internal browser.

That's it. IIS will fire-up and you can now pop back over to your service and find W3WP.exe in the processes list.

Also, make sure "Show Processes From All Users" is checked.



回答5:

I also encountered the same problem. Just build the project again. It would then show up the w3wp.exe in the attach process list.



回答6:

Also when the attach to process window is open in the bottom left there is a checkbox 'Show processes from all user' make sure this check box is checked then it will show up. You may need to run visual studio as administrator to too. Hope this helps.



回答7:

Make sure you run VS as an administrator.



回答8:

Look closely at the URL of the page you are debugging in the off chance that it changed to a different server - something that may rarely happen but happened to me. This falls under the category of "check your assumptions".



回答9:

I don't how, but there appeared to be an extra application tied to the app pool I was using. Try creating a new app pool and point your application to the newly created app pool. Double check there is only 1 application with your new app pool.