用过VS一段时间的程序员们相信都有过这样的调试经历:每次按下F5进行断点调试时,都要等待好长时间:先让解决方案编译通过,然后启动VS自带的简版IIS作为服务器启动,进而开启浏览器,最后进行相应的操作进入我们的断点。假如我们的解决方案有30个项目,可以想象得等待多长时间;再想想,合作开发的时候如果我们的解决方案一个地方出错了,那么其他人只能干着急,浪费了很多宝贵的时间,那么,有没有办法解决呢?答案就是接下来我要说的附加进程调试。
其实原理还是一样的,只不过用F5的时候VS自动的把各种动作执行完毕,现在我们来手动操作而已。大致的步骤如下:
1. 将网站部署到本地IIS
部署网站的话,不是这里的重点,如果不太会的话可以进行百度,教程很多。我这次的测试是通过建立虚目录,然后将目标项目转换为应用程序进行的。
2. 在IIS中浏览要调试的页面
在IIS添加的项目中右键目标页,选择浏览,等待浏览器响应即可(这个时候相当于启动了IIS进程):
3. 将IIS的进程附加到VS中
在VS中找到“调试”菜单,选择“添加到进程”,之后弹出如下对话框,将“显示所有回话中的进程”打勾,找到IIS的相关进程“w3wp.exe”,之后点击“附加”即可。
如果我们不是以管理员运行的VS,它会提示你需要权限,我们右键VS的图标选择“以管理员运行”即可。有一个更为彻底的方法,找到VS程序,右键,选择“兼容性”选项卡,将“特权等级”中的“以管理员身份运行此程序”打勾,确认,以后每次运行VS都将是管理员身份。
添加进程之后我们就会发现自己的VS已经处于调试状态,之后就可以按照我们以前的方法进行相应的调试了。
这种调试感觉有点麻烦,在解决方案中的项目不多以及合作开发人员比较少的情况下F5调试感觉更为省事一些。这种调试的好处是,我们不需要等待VS每次慢吞吞的启动,然后进入调试状态,因为把步骤分别给了IIS和VS,启动起来更为快捷。而且对于经常被更新就出错的麻烦这么的人来说,这个方法无疑是个福音。我们可以将其他人的错误打扰尽可能的降低。