33

我正在调试ASP.NET应用程序,但有时w3wpVisual 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
4

9 回答 9

77

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

于 2010-11-30T11:37:50.463 回答
7

这样的事情我也经历过。更新后我找不到 W3WP!我意识到它没有显示所有的过程。需要选中“显示所有用户的进程”复选框。

于 2014-06-23T16:16:26.997 回答
5

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

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

注意 - 必须要求 MS 忽略 IIS/w3wp 的睡眠状态,如果它处于睡眠模式 - 使其自动唤醒!

谢谢

于 2011-04-19T09:20:23.760 回答
3

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

  1. 弹出打开您的客户端应用程序的 web.config 文件。

  2. 查找未出现在附加到进程中的服务的端点条目。

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

而已。IIS 将启动,您现在可以跳回您的服务并在进程列表中找到 W3WP.exe。

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

于 2013-09-11T18:32:25.033 回答
2

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

于 2013-11-04T19:26:51.773 回答
2

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

于 2012-06-01T12:32:31.297 回答
2

确保以管理员身份运行 VS。

于 2015-10-06T08:16:49.280 回答
1

仔细查看您正在调试的页面的 URL,以防它更改为不同的服务器 - 这可能很少发生但发生在我身上。这属于“检查您的假设”的类别。

于 2016-01-19T18:58:12.340 回答
0

我不知道,但似乎有一个额外的应用程序与我正在使用的应用程序池相关联。尝试创建一个新的应用程序池并将您的应用程序指向新创建的应用程序池。仔细检查您的新应用程序池中只有 1 个应用程序。

于 2017-02-19T16:33:08.440 回答