将调试器附加到IIS实例

Mih*_*zar 74 c# asp.net debugging visual-studio-2005

我在XP机器和Visual Studio 2005上安装了IIS 5.1.如何将调试器连接到IIS实例.

顺便说一句:我没有在正在运行的进程中看到IIS进程,或者我可能不知道要查找什么.

Al *_*l W 119

在Visual Studio中:

  1. 单击菜单栏中的"调试"
  2. 点击"附加到流程"
  3. 选中左下角的" 显示所有用户的流程 "复选框
  4. 从进程列表中选择aspnet_wp.exe,w3p.exew3wp.exe
  5. 点击"附加"

  • 尝试查找w3p.exe进程并使用上述步骤附加它 (33认同)
  • @MihaiLazar运行`C:\ windows\system32\inetsrv\appcmd list wp`列出应用程序池及其进程ID,并找到要附加的应用程序池.http://blogs.msdn.com/b/friis/archive/2009/10/22/which-w3wp-exe-pid-corresponds-to-which-application-pool.aspx (5认同)
  • @Mihai:在Vista/Win7/2008/2008R2上,您还需要以管理员身份运行调试器才能执行此操作. (2认同)

Ami*_*itd 16

只是为了澄清Jimmie R. Houts回答......

如果要调试Web应用程序VS和IIS,可以执行以下操作:

  1. 在IIS(虚拟目录等)中托管站点.
  2. 然后在VS2005中这样做:

    • 右键单击Web项目→属性→启动选项→使用自定义服务器→基本URL→在IIS中输入托管的站点地址.
    • 命中F5,您将能够调试您的代码

同样适用于VS 2008.


The*_*der 12

我正在使用IIS 7.5版运行Windows 7,我还需要勾选"显示所有用户的进程"和"在所有会话中显示进程"框 - 位于"附加到进程"对话框的底部.

此外,我已将我的应用程序放在特定的应用程序池中,这意味着您可以看到它标记为w3wp.exe.


MiF*_*vil 6

ASP.NET 进程的可能名称:

  • w3wp.exe 是 IIS 6.0 及更高版本。
  • aspnet_wp.exe 是 IIS 的早期版本。
  • iisexpress.exe 是 IISExpress。
  • dotnet.exe 是 ASP.NET Core。
  • inetinfo.exe 是进程内运行的旧 ASP 应用程序。

查找ASP.NET进程的名称


Jim*_*uts 5

IIS进程是aspnet_wp.exe.

事实上,当您将项目设置为使用IIS进行调试时,附加到aspnet_wp.exe进程就是VS所做的事情.