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
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.
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.
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
Quick fix for this, when debugging WCF services in Visual Studio:
Pop open your client app's web.config file.
Find the endpoint entry for the service that isn't appearing in Attach To Process.
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.
I also encountered the same problem. Just build the project again. It would then show up the w3wp.exe in the attach process list.
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.
Make sure you run VS as an administrator.
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".
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.
来源:https://stackoverflow.com/questions/4313206/cannot-attach-debugger-to-w3wp