最近一直在做ASP的项目,用来用去,觉得还是用Microsoft的InterDev开发起来比较方便。也许还有其它大家惯用的IDE,但是从使用InterDev以后,明显的降低了键盘上“r、e、s、p、o、n、.、w、r、i、t、d、m、g、b、x、a、l”等键的损耗程度,为什么?因为终于不用再写 response.write, msgbox, alert等调试语句了。也经常看到网上有人问起InterDev如何打开调试功能,调试的过程中出现的错误如何处理等等问题……看着这些问题,有些是曾经困扰我许久的,还有一些是到现在还困扰着我的,所以今天突发奇想,将我使用的经验共享出来,希望能在和大家的讨论中解决那些困扰着我们的问题。
建立InterDev的调试环境
一、首先,当然是要有IIS(Internet Information Service)啦,关于IIS和FrontPage Server Extension的安装方法还请各位自己查查相关资料。
二、建立新的InterDev工程
顺着Porject Wizard的提示,建成一个新的工程,比如说:AITD。
这里有个问题我一直没有搞清楚,微软为什么没事偏要搞出一个"Local Mode"和一个"Master Mode"涅?这两天在这个上面出了很多问题 T.T
三、OK,工程建立好了,如果是新开发网站,就在工程里面添加新目录,添加新文件慢慢做起来吧。如果是有已经写完的页面文件,就更简单了,直接把目录按照你需要的结构拖进工程里面就行了。
设置IIS调试环境
打开控制面板->管理工具->Internet信息服务,在本机的默认Web站点中,你可以看到InterDev自动生成了一个新的虚拟目录:AITD,想要调试,下面就是关键部分了:
一、右键单击该虚拟目录,在“所有任务”中选择“配置服务器扩展”。如果是由InterDev自动生成虚拟目录的话,服务器扩展已经被配置过了,当然,为了保险起见,你也可以再点击一下“检查服务器扩展”,大部分问题IIS会自己修复,现在基本上高枕无忧了。
二、右键单击该虚拟目录,在弹出菜单中点击属性,单击属性页面“目录”标签卡中“应用程序设置”块内的“配置”按钮,弹出的页面中,在“应用程序调试”标签卡中选中“启用ASP服务器端脚本调试”和“启用ASP客户端脚本调试”。这样一来,就可以再InterDev运行工程的时候对ASP页面设置断点进行调试了。
用InterDev调试用户自定义动态链接库(DLL)
有些工程为了提高网页的运行速度,优化网页结构,会将一些常用操作封装到DLL内(或者恶心到被逼着用封装DLL的方法在ASP程序设计时体现OOP的思想),在服务器上注册以后,就可以调用DLL内的方法或属性。
这里我们讨论一下用VB(熟)封装的DLL。封装好了的DLL到底能不能用,或者是不是达到了预期的效果,这在VB里也不是能完全看出来的,有时候我们在调试ASP页面的同时,也想跟入DLL内部看看,是不是按照预想的流程实现了DLL的功能。这时候,我们就需要用InterDev和Visual Basic进行联合调试了,下面介绍一下方法:
一、设置IIS
又是IIS!
参照上面“设置IIS调试环境”的第二点,在“属性”中的“目录”标签卡里,将“应用程序保护”一项设为:“高(独立的)”。然后在“目录安全性”标签卡中单击“匿名访问和验证控制”块中的“编辑“按钮,将弹出的”验证方法“页面中的最上端的”匿名访问“前面的勾去掉,也就是禁止匿名访问。这样做的原因是VB本身禁止了匿名用户对其进程的调用,当以系统用户(administrator也好,IUSER_XXXXXX也好),就可以调用了。
二、打开VB,在VB中打开欲调试的DLL的工程文件,设置好需要的断点,然后运行该工程。然后打开InterDev,在调用到DLL的方法的ASP语句前设置一个断点,然后开始运行该工程。此时当页面执行到ASP的断点时,再往前走一步,系统就直接进入VB的调试了。此时,相当于正在运行的VB代替了注册的DLL文件。
如果这个方法能让大家在调试时能在断点停住了,那么就说明,我的语文水平还是可以的,大家都看懂了~~ 希望能和大家进行更多的交流!