找不到w3wp进程

我使用Visual Studio 2010在本地机器上debugging一个asp.net MVC项目。 步骤是:

单击debugging,并尝试执行“w3wp.exe”进程。 但是它不在列表中。

我确定点击“在所有会话中显示进程”。

w3wp.exe不会显示在正在运行的进程中,除非实际上有一个web应用程序正在运行。

尝试首先访问您的网页,当它第一次显示时,尝试附加您的调试器。 这个过程现在应该显示出来。

您需要单击“任务管理器”列表底部的“显示所有用户的进程”。 这是我需要做的。

  1. 重新启动IIS
  2. 右键点击您的网站>>管理网站>>浏览
  3. 回到Visual Studio中刷新进程列表

如果您正在使用高级休息客户端来测试路由,再次调用您的路由,然后刷新进程列表,它会显示出来

GoTo Web项目属性 – >左侧选择(Web) – > GoTo(服务器)下的头 – >点击下拉菜单并选择"Local IIS"

并申请。 然后,当您开始调试时,您将在进程列表中看到w3wp.exe。

我刚刚遇到了这个问题 – 您可能还想仔细检查您的主机设置,并确认您实际上是指向本地主机而不是生产服务器。

我忘了我是指向一个远程服务器,因此,虽然我正在访问该网站,它不是什么本地的,所以w3wp没有运行,尽管我表面上能够看到该网站运行。

我只想分享我的经验,以及未来的读者。

请注意,如果您有Web服务器群集配置(用于负载平衡等),则w3wp进程可能无法在您期望的相同机器上启动。

除非您的网站被配置为只能在单个IIS实例上运行,否则w3wp进程可能会在Web集群内部的其他计算机上运行。

这可能是来自网络团队/部门的错误配置或预期的行为。 我没有必要的经验来确定它应该如何配置。

在MSDN上也找到了一个相关页面:

https://msdn.microsoft.com/en-us/library/bb742600.aspx

在我的情况下,我需要从一个Visual Studio连接到从另一个VS工作室窗口运行的进程。
接下来的问题是:一个VS以管理员权限启动。 为了解决这个问题,你应该启动VS与管理权限。

在我的情况下,问题是我没有以管理员身份运行Visual Studio。 我的机器在更新后重新启动,并重新启动所有以前运行的进程,但只在非管理模式下重新启动VS。 当我以管理员模式重新启动VS时, w3wp.exe进程再次可用于调试。

以管理员身份运行远程调试器。 我遵循每个建议来解决这个问题,但直到我运行远程调试器作为管理员,我才能够看到w3wp进程

尝试以下步骤:

  1. 从解决方案资源管理器创建一个虚拟路径

  2. 转到inetmgr以确认您自己的池已创建。

  3. 转到附加处理(Ctrl + Alt + P)并显示所有用户的进程。

  4. 然后你会看到w3wp.exe会在那里。

请注意,即使跳过所有这些环节(使用Web浏览器启动实例,以管理员身份启动远程调试会话,确保选中“显示所有用户”等,确保您不在服务器上农场等),你可能仍然有时运气不好。

有些时候,远程进程(通常是我的情况下的WCF服务)不会显示在要附加的进程列表中,对此无能为力。 我总是小心地让我的目标过程很容易通过保持它,只有它在一个特定的应用程序池。 有时你不能从这里到达那里。 这无疑是微软有史以来做过的最令人沮丧的事情。