最近一直在做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文件。
如果这个方法能让大家在调试时能在断点停住了,那么就说明,我的语文水平还是可以的,大家都看懂了~~ 希望能和大家进行更多的交流!
