VS启用IIS调试的方法及可能碰到的问题。

经常有这种情况, 开发机本地正常, 但是一旦发布到服务上后, 就出现各种问题。

这是由于开发机和服务器环境不一样造成的, 所以开发时要尽可能的模拟真实性。  这时候, VS的这个功能就帮大忙了。

如何启用IIS调试

     第一种: 附加进程法

1.  在IIS中建立站点直接指到程序所在文件夹(或者路径指到程序发布的文件夹);

    2.  对要测试的页面设置断点,然后选择”调试”->”附加到进程”,在进程中选择w3wp.exe进程(需要先打开需测试的页面);如果找不到w3wp.exe进程,在进程列表的下面,有个show processes in all sessions,把它勾上就能看到了。

     第二种:设置服务器参数法

  打开Web启动项目属性,在左侧打开Web页, 在这里可以看到开始项目的行为设置以及“Servers”(服务器)这个选项。在“Servers”中,有 一个"User Custom Web Server"(用户自定义服务器)的选项,选中它,并且在下面的URL中输入IIS中当前项目的URL即可(如http://www.8kmm.com:8080/)。(在Servers中,我们同样可以修改localhost的端口号等等,这是一个很有用的选项。)

  在Servers中,同样有一个"Use Local IIS Web server"的选项,使用这个选项需要IIS6.0,如果您只安装了IIS7.0而没有安装IIS6.0兼容服务的话,使用User Custom Web Server是最佳的选择。

以上设置完成之后,保存并启动调试就可以在IIS中调试了。

可能碰到的问题及经验。

如果调试出错的话,一项一项的比对:

    1. 网站配置项中,网站标签下的连接是否启用了保持HTTP连接项,IIS6的操作路径:

      IIS6管理器中右键当前调试网站--属性--网站--连接--保持HTTP连接
    2. 检查是否启用Windows身份验证。IIS6路径:
      IIS6管理器中右键当前调试网站--属性--目录安全--身份验证和访问控制--编辑--用户访问需经过身份验证--集成Windows身份验证
    3. 如果是ASP这样的网站也许你要启用在服务端进行ASP调试的选项,路径为: 
      IIS6管理器中右键当前调试网站--属性--主目录--应用程序设置--配置...--调试--调试标志--启用ASP服务器端脚本调试 && 启用ASP客户端脚本调试
    4. 启用IIS中ASP.NET的调试项,这项也可以从web.config中设置,路径为:
      IIS6管理器中右键当前调试网站--属性--ASP.NET--Edit Configuration(编辑配置)--应用程序--公共编译、页和运行时设置--勾选:启用调试--确定
    5. 如果你是IIS7,可以尝试启用IIS7中的Class .NET AppPool,经典的.NET应用程序池,路径:
      当前调试站点--高级设置--应用程序池--Class .NET AppPool(经典模式)
    6. 系统注册表检查

6.1   禁用环回检查,将DisableLoopbackCheck 注册表项值置为1,Mitchell自己在Windows2003的问题就是这个方法解决的,注册表路径:

开始--运行--输入:regedit--确定--路由到下面路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
--右键:Lsa--新建--DWORD值--键入:DisableLoopbackCheck--右键:DisableLoopbackCheck--修改--数值数据框输入:1--确定。

##注意:
操作后如果无法直接生效,可能需要重启系统。

6.2   指定主机名,将DisableStrictNameChecking注册表项值置为1,具体操作方法:

开始--运行--键入:regedit--确定--路由到下面注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
--右键:MSV1_0--新建--多字符串值--输入:BackConnectionHostNames--确定--右键:BackConnectionHostNames--修改--数值数据--输入本地网站的主机名(可多个)--确定--重启IISAdmin服务. 
      7. 检查Web应用程序中web.config中的debug是否值为true:

经验之谈1. 无法进入断点: web项目的属性页面调试器==》启用本机代码, 如需要其它的, 自己看。  

2. 第一种附加进程法, 当使用到多线程或者异步请求的时候,很可能造成跟踪丢失的情况(不会命中断点), 这时该用第二种。   

3. “启用编辑并继续”打上勾,就方便多了。  

4. 有些web项目, 带了路径, 比如:“E:\website\”,  这时调试时路径可能变成:“http://localhost:2435/website/”.  图片等资源文件地址可能就有问题。 这时候, 选中web项目==》属性窗口==》将Visual path属性改成"/"
时间: 01-27

VS启用IIS调试的方法及可能碰到的问题。的相关文章

IDA 调试 Android 方法及简单的脱壳实现

IDA 调试 Android 方法及简单的脱壳实现 标签: android原创逆向调试dalvik 2016-05-24 14:24 9286人阅读 评论(3) 收藏 举报 分类: 原创(25) Android(5) 学习(9) 逆向(4) 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 本文参考了一些网络文章,对大大们的技术分享表示感谢.小弟刚刚开始深入去搞Android的逆向不久,写一下学习笔记,希望能抛砖引玉,给新手同学们带来方便.文笔比较烂,这不重要,重要的是按自

Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法

Xcode5.1默认不支持iOS5版本的模拟器开发调试,在OS X Mavericks(10.9.x)下默认只能支持iOS6.1及以上版本的模拟器,在OS X Mountain Lion(10.8.x)下默认只能支持iOS6.0及以上版本的模拟器进行开发和调试,在此条件之下的版本只能使用硬件设备进行开发调试.虽然现在低版本的iOS设备越来越少了,但是有时客户的需求可能会要求我们一定要兼容iOS5(或更低版本)及以上版本,如果我们手头找不到低版本硬件设备用于调试或者完全使用硬件设备而没有对应的模拟

尝试解决IIS问题一些方法

尝试解决IIS问题一些方法

ie启用js调试

在 "工具---internet选项--高级---'禁用脚本调试(Internet Explorer) 去掉勾','显示每个脚本错误的通知(打上勾)'".如图: 如果不是必须用ie调试js的话,建议用Firefox或chrome. ie启用js调试,布布扣,bubuko.com

【转】Android开启网络调试的方法

方法是偶然看到的:Android 终端adbd服务需要开启5555号端口来建立于adb的连接,如果未开启5555端口,则不能通过网络调试 查看是否可以网络调试: # netstat Android adb 不能通过网络调试的解决方法 有5555端口开放,说明可以进行连接:> adb connect 192.168.0.202 如果netstat显示没有5555端口开放,则需要设置adbd参数,并重新启动adbd服务:# stop adbd # setprop service.adb.tcp.po

如何使VS2008 调试网站的根目录和IIS调试的一致?

用VS2008做asp.net网站调试时,经常会多出来一个目录,如http://localhost:1234/Foo/ , 由于一些图片的路径问题,我们不需要最后的/Foo/目录,而是像IIS调试那样,直接出现以下 的地址:http://localhost:1234/,那么怎么实现VS2008 调试网站时的根目录和IIS调试的 一致呢?步骤如下: (1) 打开已经存在的web项目. (2)使用Visual studio解决方案管理器,选中web站点项目 (3)去属性窗口(如果没有打开Visual

用CMAKE编译配置的项目进行调试的方法

在Linux 下用CMAKE编译的项目进行Debug 需进行设置: 1.在未设置之前 进行调试可能会出现错误报告:No source available for ...等一系列错误,这些错误可能就是你想进行程序Debug,但又未进行设置导致的. 首先检查用CMAKE编译时:where is the source code : ...和where to build the binaries ...的目录是否是英文路径,我刚开始就是路径中包含中文,导致出现No source available ..

PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍

之前用ThinkPHP时发现有个 trace 函数可以跟踪调试,感觉很有意思,网上搜索了下类似的东西,发现了 ChromePhp ,以前没想过这样来调试 PHP 程序,感觉非常方便,很有用. ThinkPHP 使用的是自己生成的 HTML 随模版一起输出来显示,偶尔会遇到一些莫名其妙的问题,效果不是太好, 还有一些也是类似的方法,但输出的主要是在模版中增加 JS 代码,调用浏览器的调试方法进行输出调试 如 console.log('PHP的一些调试输出内容'); ChromePhp 是通过hea

【转】WinDbg调试器:启动程序时自动连接调试器方法

当我们调试服务进程或子进程时,无法直接用调试加载进程的方式启动,此时需要在启动程序时自动连接调试器方法: 第一步:注册表展开到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options路径下: 第二步:在Image File Execution Options上鼠标右键,新建"项",项名为你要调试的程序,比如 test.exe: 第三步:在项名上,右键,新建字符