无法将调试器附加到w3wp

时间:2010-11-30 11:26:46

标签: .net debugging w3wp

我正在调试ASP.NET个应用,但有时在w3wp进程列表(菜单:Visual Studio)和Debug -> Attach to Process...中找不到task manager。我选择了“Show processes from all users”和“Show processes in all sessions”复选框。从localhost运行项目时,在发生无法处理的异常后,调试器会附加到w3wp(对我来说太晚了,无法进入代码)!

为什么我有时看不到w3wp?

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

9 个答案:

答案 0 :(得分:72)

当您重置IIS或IIS未运行时,您需要在第一次启动 w3wp 进程时点击服务器时调用服务器。

答案 1 :(得分:7)

同样的事发生在我身上。更新后我找不到W3WP!我意识到它并没有显示所有的过程。选中“显示所有用户的流程”复选框。

答案 2 :(得分:5)

同样的事情发生在我身上,当我记得IIS有空闲超时!如上所述proc w3wp正在运行,但是VS2010在睡眠状态下查看它并认为它没有运行,所以dos'nt在列表中显示它...

启动IIS [在你最喜欢的网络浏览器中调用从locahost提供的站点]重新激活IIS,突然VS现在也能看到进程[w3wp]

注意 - 必须要求MS忽略IIS / w3wp的睡眠状态以及它是否处于睡眠模式 - 导致它自动唤醒!

感谢

答案 3 :(得分:3)

在Visual Studio中调试WCF服务时快速解决此问题:

  1. 弹出客户端应用的web.config文件。

  2. 查找未附加到流程中的服务的端点条目。

  3. 按Ctrl +单击端点网址,以便在Visual Studio的内部浏览器中加载服务窗口。

  4. 就是这样。 IIS将启动,您现在可以回到您的服务并在进程列表中找到W3WP.exe。

    此外,请确保选中“显示所有用户的进程”。

答案 4 :(得分:2)

我也遇到了同样的问题。再次构建项目。然后它会在附加进程列表中显示w3wp.exe。

答案 5 :(得分:2)

当左下角打开附加到处理窗口时,会出现一个复选框“显示所有用户的进程”,确保选中此复选框,然后它将显示出来。您可能还需要以管理员身份运行visual studio。希望这可以帮助。

答案 6 :(得分:2)

Make sure you run VS as an administrator.

答案 7 :(得分:1)

请仔细查看您正在调试的页面的URL,以免它更改为其他服务器 - 这可能很少发生,但发生在我身上。这属于"检查您的假设"。

答案 8 :(得分:0)

我不知道如何,但似乎有一个额外的应用程序绑定到我正在使用的应用程序池。尝试创建新的应用程序池并将应用程序指向新创建的应用程序池。仔细检查您的新应用程序池只有一个应用程序。