【问题标题】:Remote Debugging on IIS - Access Denied Nightmare!IIS 上的远程调试 - 拒绝访问的噩梦!
【发布时间】:2009-09-07 12:26:44
【问题描述】:

我们这里有两台 Win2k3 服务器,一台是域控制器,另一台是我们的网络服务器。

我在网络服务器上的 IIS 中将 ASP.NET MVC Web 应用设置作为网站运行。

我已将 x86 远程调试工具复制到网络服务器,登录到管理员帐户并运行 msvsmon。我将我登录到我的工作站的用户添加到权限列表中。

在 VS2008 中打开 web 应用项目并转到 附加到进程,这是我的设置:

Transport: Default
Qualifier: OURDOMAIN\AdminUsername@OURWEBSERVER
Attach To: Managed Code

Selected: w3wp.exe

点击附加后,窗口闪烁几秒钟,然后我得到:

Unable to attach to the process. Access is denied.

我尝试右键单击 msvsmon 并使用 Run As 在我登录机器时使用的同一帐户运行它,但仍然没有区别。

但是,如果我将 Attach To 字段更改为 Auto: Native Code,它会很好地附加,但我无法调试我的任何托管 .NET 代码。

这让我感到困惑 - 有什么想法吗?

安东尼

【问题讨论】:

    标签: asp.net asp.net-mvc visual-studio-2008 debugging


    【解决方案1】:

    【讨论】:

    • +1 链接。这是我见过的关于设置远程调试的最详细的文章。谢谢!
    • 页面已关闭...请下次在 SO 上发布文章的内容。
    【解决方案2】:

    您的问题并不清楚,但是远程调试要求您在远程计算机上登录的用户也存在于您的本地计算机上。您基本上必须在您的开发机器上创建一个本地帐户(是的,这听起来倒退)。我不确定它是否尊重域帐户。

    【讨论】:

    • 同意这一点,此外,您必须确保用户没有没有密码。如果这样做,则需要设置特殊的组策略。
    【解决方案3】:

    代码是在服务器上预编译的还是在单个未编译的 .cs 文件中?

    【讨论】:

    • 预编译。我基本上在VS2008中打了Build Solution,然后将bin文件夹复制到服务器。
    • 我认为这可能是问题所在。尝试将 .cs 文件放入服务器上的文件夹而不是预编译文件。
    【解决方案4】:

    我试过右键单击 msvsmon 并 使用 Run As 在相同的环境下运行 我登录到我的机器时的帐户, 但仍然没有区别。

    您是否将该帐户添加为服务器中的管理员?我会尝试这样做,而不是运行身份,而是使用该帐户有效地登录。

    在不同域中运行服务器和客户端时,情节会稍微变厚。在这些情况下,我使用的技巧是在两台机器上创建一个具有相同名称和相同密码的本地帐户。在两台机器上使用相同的帐户(实际上不是同一个帐户)登录,然后在服务器上启动远程调试器,在客户端启动 VS。如果此方案中的任何机器运行 Windows XP,则必须将“安全选项”下的“本地安全策略”“网络访问:本地帐户的共享和安全模型”更改为“经典 - 本地用户身份验证” .

    【讨论】:

      【解决方案5】:

      我还没有看到跨域的这项工作。与@paul-mrozowski 一样,只要运行调试器服务器的用户与您的本地用户匹配并且您能够正确地对机器进行身份验证,我就能够在同一个域上执行此操作。最后一点可能会受到防火墙配置的阻碍。

      【讨论】:

        猜你喜欢
        • 2017-10-29
        • 2011-10-12
        • 1970-01-01
        • 2017-04-28
        • 1970-01-01
        • 2012-03-16
        • 2017-10-25
        • 2010-12-26
        • 1970-01-01
        相关资源
        最近更新 更多