Visual Studio 2012:无法附加进程。已附加调试器

时间:2014-07-07 08:01:57

标签: asp.net debugging visual-studio-2012 iis w3wp

我构建了解决方案,在IIS中创建了应用程序并将其映射到应用程序文件夹。它工作正常。然后我转到"附加到进程",列表中有两个w3wp.exe进程,但是对于其中一个进程,我得到错误"无法附加进程。调试器已经附加。"我已经用谷歌搜索了它,但我无法找到解决问题的方法。

6 个答案:

答案 0 :(得分:31)

我已经安装了Debug Diagnostic Tool v2.0,因此我有调试诊断服务,它自动启动并附加到w3wp进程之一。关闭并禁用此服务后一切正常。 所以一般规则是:如果你在任务管理器中得到这样的错误检查过程,它可以捕获你的w3wp进程。

答案 1 :(得分:4)

在同一个应用程序池上运行的IIS中有2个VS实例和两个条目,例如,Server和Intranet都运行在同一个应用程序池中。

=>解决方案打开IIS:

°选择网站并单击“基本设置”:您可以在此处选中/选择   使用的应用程序池。

°单击“应用程序池”节点(在您的计算机名称下)    =>您将获得已定义的应用程序池列表。

°右键单击定义的最后一个,打开上下文菜单   选择“添加应用程序池...”   创建一个新名称,并为其指定与使用的名称相同的参数   在您的网站上。

°选择您某个站点的“基本设置”并更改其应用程序   池到刚刚创建的新池。   =>现在,Server和Intranet具有不同的应用程序池和您的可以      同时调试两者。

希望这有帮助。

答案 2 :(得分:0)

调试诊断工具v2 Update 2

https://www.microsoft.com/en-us/download/details.aspx?id=49924

如果@mtkachenko提供的链接无法正常工作,可以使用此链接

答案 3 :(得分:0)

对我来说,即使禁用了Debug Diagnostic Tool v2.0,此问题也无法解决。因此,我重新构建了Web服务,将DLL推送到IIS上,然后重新启动它,这为我解决了这个问题。 当您在本地IIS上托管的Web服务中进行更改并且未推送这些更改时,可能会发生此问题。

答案 4 :(得分:0)

在Visual Studio 2019中具有此功能,但有时调试器崩溃之后。在不重启PC的情况下(这可能是一件很麻烦的事),可以创建一个临时的第二个应用程序池并将站点切换到IIS中的新应用程序池。

答案 5 :(得分:-1)

真奇怪 - 但这个简单的事对我有用:

  1. 转到主项目中的某个文件。

  2. 转到 Project 菜单,然后选择设置为启动项目

  3. 如果您之前已经选择该项目作为启动项目,那么这似乎是多余的,但它似乎有效。