如何从Visual Studio中调试IIS上的两个web应用程序/服务



在Visual Studio 2010中,我想同时调试在IIS上运行的两个web应用程序。调试第一个应用程序时可以。但当开始调试第二个应用程序并且第一个程序仍处于调试模式时,Visual Studio会提示:

无法在web服务器上启动调试。调试器已经存在附加

我该如何解决这个问题?

总之,必须在IIS中设置不同的应用程序池,以便调试这两个应用程序。

以下是一条粗略的说明,因为这两个应用程序都已在Visual Studio中部署到IIS一次。

  1. 打开Internet信息服务(IIS)管理器
  2. 单击左侧窗格上的应用程序池
  3. 在右侧窗格中添加另一个集成应用程序池,将其命名为Second ASP.NET 4.0 integrated
  4. 对于一个应用程序,打开高级设置
  5. 在属性视图中,最终选择Second ASP.NET 4.0 Integrated作为应用程序池

这样,应用程序应该可以并行调试,因为每个应用程序池都会产生一个新的操作系统进程,可以将一个单独的调试器附加到该进程。

一个windows进程在给定时间只能连接一个调试器。如果您收到该消息,则意味着您正在尝试调试同一进程两次,但这两次都不起作用。但这也意味着您应该能够在已经连接的Visual Studio实例中调试这两个web应用程序。不过,它可能需要一些额外的步骤才能确认其他代码

  • 禁用"仅我的代码"(Tools(工具)->Options(选项)->Debugger(调试器),取消选中"Enable Just My Code(仅启用我的代码)"
  • 您可能需要通过模块窗口手动加载其他web应用程序的符号(调试器->窗口->模块)

之后(第二步可能没有必要),您应该能够在两个web应用程序中设置断点,并以其他方式调试它们。

最新更新