繁体   English   中英

尝试使用 Visual Studio 2008 附加到 ASP.NET 进程时,“Windows 64 位平台不支持混合模式调试”

[英]“Mixed mode debugging is not supported on Windows 64-bit platforms” when trying to attach to an ASP.NET process using Visual Studio 2008

在 .NET 2.0 和 VS.NET 2005 中调试 ASP.NET 应用程序时,我习惯于附加一个进程。我不知道在 VS.NET 2008 中这个功能发生了什么。

我也不想从起始页开始进行调试,因为当应用程序足够大时,您不希望它被编译,并且有时您无法从一开始就捕获一个案例,而您想在那段时间捕获该案例.

我想不通这个。

我正在使用 VS.NET 2008 Team Suite 运行 Vista Ultimate x64。

同样在网站属性页面的启动选项中,服务器被选为“使用默认 Web 服务器”,自定义服务器显示为灰色,我无法检查。 (我不知道我是否需要在这里进行一些更改,但我什至无法尝试)

最重要的是,我尝试从默认页面进行调试,但在这种情况下,我得到的是“无法在 web 服务器上开始调试。Windows 64 位平台不支持混合模式调试”。 什么? 无论如何,我进入解决方案的配置管理器并将混合模式更改为任何 CPU,但没有运气。

没有调试的帮助将 ASP.NET 降低到 PHP 或其他类型的级别。

补充说明:

  1. 我正在使用 DotNetNuke 5.0.1 并在其下构建模块。
  2. IIS 7 用于集成模式。

我在 64 位 Vista 上找到的用于调试的密钥如下。

1.) Ensure that the web application is FULLY running in IIS and not Cassini ( http://localhost addresses) 2.) When attaching to the w3wp.exe process, be sure to select the one with a type of T-SQL,托管,x64,而不是仅显示 x64 类型的

按照这两个步骤,我已经解决了我遇到的所有问题。 类似于你上面列出的那些。

顺便说一句,对于基于相同错误消息(至少在我的情况下)找到这篇文章的其他人来说,是修改 IIS 中的应用程序池。 Go 为高级设置,将“启用 32 位应用程序”更改为 True。 VS2010,Win 7 64位。

好的,听起来您遇到了几个问题。

1) webdev 服务器的自动启动:这通常是由于您的解决方案中的一个项目设置为“调试时始终启动”引起的。 只需在解决方案资源管理器中单击项目并按 F4 以显示属性 window,并将其从“True”更改为“False”。 您可能需要检查解决方案中的所有项目。

2) 当网站发布到真正的 IIS 时,应该附加到进程,我假设你正在这样做。 我对 Vista 下的 IIS 并不完全熟悉,但您需要将 go 放入其中,并确保为您的 web 应用程序启用调试。 如果您正在这样做,则无需费心使用起始页或使用自定义服务器。

希望对一些人有所帮助。

米切尔·塞勒斯提供了帮助。 他指出调试模式没问题,但是在附加到进程时,“附加到”是“自动:本机代码”。

更改为仅“托管代码”或仅选择“托管代码”后,它开始工作。

谢谢米切尔。

这是米切尔的最后一句话:

“脚本”选项用于经典的 ASP 脚本,它总是在 32 位模式下运行,因此同时调试 T-SQL 和脚本会导致“混合模式”,因为 T-SQL 默认为 64 位。 此外,如果没有选择“托管”选项,您将永远无法调试。

现在,至于为什么不同? 我不确定,但是一旦你改变它,你应该设置为 go 以备将来使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM