在Visual Studio 2010中,我想同时调试在IIS上运行的两个web应用程序。调试第一个应用程序时可以。但当开始调试第二个应用程序并且第一个程序仍处于调试模式时,Visual Studio会提示:
无法在web服务器上启动调试。调试器已经存在附加
我该如何解决这个问题?
总之,必须在IIS中设置不同的应用程序池,以便调试这两个应用程序。
以下是一条粗略的说明,因为这两个应用程序都已在Visual Studio中部署到IIS一次。
- 打开Internet信息服务(IIS)管理器
- 单击左侧窗格上的应用程序池
- 在右侧窗格中添加另一个集成应用程序池,将其命名为Second ASP.NET 4.0 integrated
- 对于一个应用程序,打开高级设置
- 在属性视图中,最终选择Second ASP.NET 4.0 Integrated作为应用程序池
这样,应用程序应该可以并行调试,因为每个应用程序池都会产生一个新的操作系统进程,可以将一个单独的调试器附加到该进程。
一个windows进程在给定时间只能连接一个调试器。如果您收到该消息,则意味着您正在尝试调试同一进程两次,但这两次都不起作用。但这也意味着您应该能够在已经连接的Visual Studio实例中调试这两个web应用程序。不过,它可能需要一些额外的步骤才能确认其他代码
- 禁用"仅我的代码"(Tools(工具)->Options(选项)->Debugger(调试器),取消选中"Enable Just My Code(仅启用我的代码)"
- 您可能需要通过模块窗口手动加载其他web应用程序的符号(调试器->窗口->模块)
之后(第二步可能没有必要),您应该能够在两个web应用程序中设置断点,并以其他方式调试它们。