w3wp process not found

I use Visual Studio 2010 to debug a asp.net MVC project in my local machine. The steps are:

Click Debug and try to attch process "w3wp.exe". However it is not in the list.

I am sure "Show processes in all sessions" is clicked.

98836 次浏览

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

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

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

如果您正在使用类似 Advanced RestClient 的东西来测试路由,请再次调用您的路由,然后刷新进程列表,它将显示出来

GoTo Web Project properties-> Select (Web) on the left sibar-> GoTo under (Servers) header-> Click to drop down and Select "Local IIS"

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

  1. Restart IIS
  2. Right click your site >> Manage Website >> Browse
  3. 返回 VisualStudio 刷新进程列表

我刚刚遇到了这个问题-您可能还想再次检查您的主机设置,并验证您实际上指向的是 localhost 而不是生产服务器。

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

我只是想把我的经历也分享给未来的读者。

请注意,如果您有一个 网络服务器群集配置(用于负载平衡等) ,那么 w3wp进程可能不会在您希望它启动的同一台机器上启动。

Unless your website is configured to only run on a 单个 IIS 实例, the w3wp process might be spinning up on one of the other machines inside of your web cluster.

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

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

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

在我的例子中,我需要从一个 VisualStudio 连接到从另一个 VS 工作室窗口运行的进程。
接下来的问题是: 使用管理员权限启动了一个 VS。为了解决这个问题,您应该使用 Admin perm 启动两个 VS。

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

以管理员身份运行远程调试器。 我采纳了所有的建议来解决这个问题,但是直到我以管理员身份运行远程调试器时,我才能够看到 w3wp 进程

尝试以下步骤:

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

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

  3. 转到 AttachProcess (Ctrl + Alt + P)并为所有用户显示进程。

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

请注意,即使在经历了所有这些困难之后(使用 Web 浏览器启动一个实例,以管理员的身份启动远程调试会话,确保“显示所有用户”被检查,等等,确保你不在服务器群中等等) ,你有时仍然可能运气不佳。

There are times when the remote process, usually a WCF service in my case, simply will not show up in the list of processes to attach to, and there's nothing that can be done about it. I'm always careful to make my target process readily identifiable by keeping it and only it in a certain App Pool. Sometimes you just can't get there from here. This is undoubtedly the most frustrating thing about remote debugging Microsoft has ever done.

In my case, I have not opened the Visual Studio in Admin mode that is why the w3wp.exe was not showing on the list.

当我在管理模式下打开 VisualStudio 时,它工作了。

右键单击 VisualStudio-> 在管理模式下打开。

尝试检查: “ ShowProcessforAll User” 在左下角的“附加到进程”窗口中,有一个复选框“为所有用户显示进程”

一个简单的工作方式,当 w3wp 不出现在列表中,打开浏览器,写本地主机,然后输入。之后,w3wp 出现列表。

在我的例子中,一旦我重新构建 Web 项目并提高连接超时的限制(以秒为单位) ,它就会自动显示在 Debug/Attach to Process 列表中,并继续工作。

仅仅因为启动了 IIS 应用程序池,所以可能不存在 IIS 辅助进程 w3wp正在运行。 IIS 不会启动辅助进程 处理,直到收到第一个 web 请求。

在我的情况下,我首先启动的应用程序,仍然找不到 w3wp.exe。然后我从(IIS->Worker Process -> Process Id)获取工作进程 ID,然后在 Details 选项卡中按 ID 搜索并找到它。

  1. 清除解决方案
  2. 重新构建解决方案
  3. 通过在命令提示符中写入命令 iisreset来重置 IIS
  4. 进入 IIS 浏览你的网站
  5. 以管理员身份运行 VS
  6. Tools-> Attach to process-> 确保 “为所有用户显示进程”复选框为 < br > check- > w3wp.exe
  7. 连接到 w3wp.exec

我的答案肯定迟到了,但也许我的答案会对某人有所帮助。

  1. 去 IIS。
  2. 申请人数。
  3. 预设。
  4. 启用32位应用程序。 enter image description here 使应用程序在 启用32位应用程序下运行。