我正在尝试使用远程调试来调试 IIS Web 服务。由于我们的域配置(我们无法更改),当通过默认选项进行远程调试时,我得到一个拒绝访问。我发现的唯一解决方案是在 VS 2008 中切换到远程(仅本机,没有身份验证)选项。
问题是当我连接到远程系统时 w3wp.exe 是灰色的,奇怪的是它是列表中唯一的一个。这与远程选择有关吗?有没有解决的办法?
我正在尝试使用远程调试来调试 IIS Web 服务。由于我们的域配置(我们无法更改),当通过默认选项进行远程调试时,我得到一个拒绝访问。我发现的唯一解决方案是在 VS 2008 中切换到远程(仅本机,没有身份验证)选项。
问题是当我连接到远程系统时 w3wp.exe 是灰色的,奇怪的是它是列表中唯一的一个。这与远程选择有关吗?有没有解决的办法?
我实际上解决了我的问题。w3wp.exe 是灰色的,因为我在服务器机器上安装了调试诊断工具并将其设置为跟随 IIS 以防止崩溃。即使程序没有运行,它仍然“标记”了调试过程(这可能是完全错误的假设)。删除“标记”后,我可以附加到该过程中。
因此,请检查您的服务/程序是否已经将其自身附加到流程中。根本无法解决无法调试托管代码的问题。
当您切换到“仅无身份验证的本机”模式时,您明确表示您只想调试“本机”,即 Win32 代码,而不是 .net 代码。不幸的是,据我所知,没有办法解决这个问题(我试过了!:()。