Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 无法将调试器附加到w3wp_.net_Debugging_W3wp - Fatal编程技术网

.net 无法将调试器附加到w3wp

.net 无法将调试器附加到w3wp,.net,debugging,w3wp,.net,Debugging,W3wp,我正在调试一个ASP.NET应用程序,但有时在visualstudio进程列表(菜单:Debug->attachtoprocess…)和任务管理器中都找不到w3wp。我已选中“显示所有用户的进程””和“显示所有会话中的进程””复选框。从localhost运行项目时,在发生意外异常后,调试器将附加到w3wp(太晚了,我无法进入代码) 为什么有时我看不见w3wp Windows Server 2008 Enterprise Edition 64-bit, Visual Studio 2010 当您

我正在调试一个
ASP.NET
应用程序,但有时在
visualstudio
进程列表(菜单:
Debug->attachtoprocess…
)和
任务管理器中都找不到
w3wp
。我已选中“
显示所有用户的进程”
”和“
显示所有会话中的进程”
”复选框。从
localhost
运行项目时,在发生意外异常后,调试器将附加到w3wp(太晚了,我无法进入代码)

为什么有时我看不见w3wp

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

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

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

启动IIS[在您喜爱的web浏览器中调用locahost提供的站点]会重新激活IIS,突然VS也可以看到这个过程[w3wp]

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


谢谢

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

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

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

  • 查找未出现在附加到进程中的服务的终结点条目

  • 按住Ctrl键并单击端点url,以便在VisualStudio的内部浏览器中加载服务窗口

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


    另外,确保选中了“显示来自所有用户的流程”。

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

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

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

    仔细查看您正在调试的页面的URL,以防它更改为其他服务器—这可能很少发生,但发生在我身上。这属于“检查你的假设”的范畴。

    我不知道怎么做,但似乎有一个额外的应用程序绑定到我正在使用的应用程序池。尝试创建新的应用程序池,并将应用程序指向新创建的应用程序池。再次检查您的新应用程序池中只有一个应用程序。

    是,通过呼叫localhost解决了问题。这是因为我把我的主页从localhost改成了Google!只要点击服务器托管的网站上的任何页面,就会启动w3wp.exe(IIS应用程序池工作进程)。它可以工作!打开网页后附加到进程。以前没有!我知道这个答案是几年前发布的,但如果我能投票两次或更多,我会:)我非常同意艾奇的观点。:)无论如何,非常感谢你的回答。在你的解决方案中,第3项完成了确认答案所说的工作。与
    CRTL
    +
    相同,在
    MS Word
    中的
    localhost
    链接上单击
    。同意,@Xaqron。我发布这些步骤的原因是为了提供一个快速的解决方案,使用一个在当前项目中易于访问的文件(web.config)。好吧,我知道这个问题由来已久,但我希望有人能回来帮助我。我不明白第二步。我在web.config中寻找什么?对我来说,w3wp.exe没有出现在附加到进程中。我要寻找哪一个端点?好的,更清楚地说,您并没有打开服务的web.config文件-您正在打开调用您的服务的应用程序的web.config。在该web.config中找到服务的端点,然后按住ctrl键并单击它(这将弹出并打开Visual Studio浏览器)以激活它。然后,切换回您的服务项目,打开“附加到进程”对话框,单击“显示来自所有用户的进程”复选框,您现在应该会在列表中看到w3wp.exe。对于阅读此答案的任何人。。。IIS没有“睡眠状态”。w3wp进程消失了。新的w3wp进程在需要时启动。