zoukankan      html  css  js  c++  java
  • 远程调试IIS服务器的ASP.NET2.0网站

    IIS服务器:Windows Server2003,IIS6.0,

    本地VS2005开发机器:Windows XP SP3,VS2005

    网站在本地运行没有问题,但部署到IIS服务器上就出错,没办法,就想到了远程调试。

    网上说,首先要安装Remote Debugger,在VS2005.pro.cn\vs\Remote Debugger\X86安装目录下,rdbgsetup.exe。运行,OK。

    安装完毕后,会启动Visual Studio 2005 Remote Debugger 配置向导。一开始搞不懂,随便设置的。

    然后,按照网页说明,将Server2003的IIS文件夹共享出来。让XP能够访问到。设置为administrator完全控制。

    在XP里用VS2005以打开网站的形式打开IIS共享文件夹,结果提示这是已经预编译的,不能调试。于是,我将XP上的网站源代码全部拷贝到Server2003上,然后再进行网络共享,再从XP里的VS2005打开,可以看到UI层的源代码了。(没有共享DAL层和BLL层等其它层的目录)

    此时,也可以编译并运行,但是打开的仍然是本地URL的网站,并不是在2003的IIS上运行的。所以,需要修改网站项目的设置,右键点击项目名称,选择“属性页”,然后打开“属性页”窗口,在“启动选项”菜单中,设置“服务器”为“使用自定义服务器”,并在“基URL”中填入服务器的网站URL,如下图:

    然后,就按F5调试运行,不行!出错,验证不能通过,说没有用户名或者用户名密码不对什么的。然后我就到网上搜了一大堆网页,尝试了一大堆方法都不管用。

    最后,在这个网页找到了一些关键信息:http://msdn.microsoft.com/zh-cn/library/aa290100(v=vs.71).aspx  (将 Visual Studio .NET 调试器用于 ASP.NET 应用程序 )——

    远程调试工作组中的机器失败

    当您的两台 Windows XP Pro 机器都不在域中但在工作组中时,将发生这种情况。在它们之间进行远程调试时,您根本无法访问远程机器。

    在工作组环境中,您需要确保两台机器具有相同的用户帐户名和相同的密码。否则,DCOM 进行身份验证时将失败。

    另外,在 Windows XP Pro 上,将 Sharing and security model for local accounts 的默认安全设置设置为现在允许共享。下面是更改此设置的步骤:

    1. 运行管理员工具中的 Local Security Settings

    2. 选择 Security settings\Local policies\Security 选项。

    3. Network access : Sharing and Security model for local accountsGuest only - local users authenticate as Guest 更改为 Classic - local users authenticate as themselves

    4. 重新启动计算机。

    应该将此更改应用于进行远程调试的两台机器。

    更改设置后,即可使用同一名称的用户帐户在两台机器上进行远程调试。

    上面的话,使我意识到还是权限的问题,而改正的关键,就是让两台电脑拥有同样的管理员密码。于是我修改了XP的管理员密码,同Server2003的密码保持一致,还重启了计算机(上面的DCOM身份验证安全设置修改需要重启计算机)。重启之后,果然就可以调试2003的IIS运行的网站代码了。下图就是远程代码的中断:

    另外,打开“调试-附加到进程”,就可以访问Server2003上的进程了,见下图,这就意味着可以调试Server2003上运行的桌面程序了。具体我还没有实验。

     最后,看一下Server2003上运行的Remote Debugger的情况:

  • 相关阅读:
    != 比 & 的优先级高
    VC++ 报错:Heap corruption detected
    sqlite 查询数据库中所有的表名,判断某表是否存在,将某列所有数值去重后获得数量
    Unicode与UTF-8,UTF-16
    各种格式的压缩包解压,7zip 命令行
    bat批处理文件运行时隐藏cmd窗口
    标准库中 vector list等排序
    duilib 实现列表头任意拖动
    duilib 实现 XML重用(item完全重合的CList)
    C++-POJ2503-Babelfish[hash]
  • 原文地址:https://www.cnblogs.com/qinlixue/p/2086087.html
Copyright © 2011-2022 走看看