通常,我们在Visual Studio里调试ASP.NET网站,都是加个断点,然后按F5,在VS自带的虚拟服务器下调试的。但有时候,VS自带的服务器弱爆了,无法满足一些特定情况的要求,我们必须把网站放在IIS里跑。这下该怎么调试呢?
其实很简单, 首先还是和原来一样,加上断点。但不要按F5了。选择工具菜单(调试菜单也可以),附加到进程。
然后会惊现一个对话框,勾选最下面的两个复选框:显示所有用户进程、显示所有会话中的进程。然后选择IIS进程,即w3wp.exe。最后点击"附加"。
现在打开你的浏览器,访问IIS中的网站,并触发要调试的程序。小卡一会儿后,光标就成功跳到断点处了,和以前一样可以DEBUG了,碉堡啦!!!
如何调试WebService中的代码
有朋友问到如何调试WebService中的代码。其实.Net中,WebService也是Web程序,通过附加w3wp.exe这个进程来进行调试。前提:代码和部署的WebService版本一致;WebService已经打开(先在浏览器中打开WebService的页面,否则找不到w3wp.exe进程)。
VS2005 IDE中,菜单栏Debug->Attach To Process...如图:
点[Attach],附加进程进行调试。
上图是 windows2003下的进程,如果是xp,则附加的进程为aspnet.exe