ASP程序的调试
任何一种编程,最后的调试是最关键的。因为ASP需要通过服务器的解释,所以相对其它编程来说,调试相对麻烦一点。
在这儿谈一点自己的小经验,供初学者借鉴。
1、显示ASP出错信息。
如果没有ASP的出错信息是无法调试程序的,因为你根本就不知道问题在那儿,所以第一步就是显示ASP的出错信息。ASP的出错信息默认情况是不显示的,你可以通过设置IE来显示它们。方法:在IE的“工具”菜单中选“INTERNET选项”,在“INTERNET选项”对话框中选“高级”,在“高级”中的“设置”对象框中把滚动条下拉到“浏览”,把“显示每个脚本的错误通知”前的钩打上。
虽然经过以上的设置,大多的错误信息就会显示了,但有时还会有一些特殊的情况无法显示(它只提示你要浏览的页面有问题,无法显示)。这时你可以这样来处理:在出错的页面文件中,删除所有的内容,保存并刷新(注意是刷新不是新开)出错的页面,这时如果IIS设置正常,将显示空白页面,然后撤消删除并保存,再回到IE中刷新(注意是刷新不是新开)刚才的空白页,这时它一定会显示出错的信息了。
2、如果提示缺少“END”请不要完全相信它,因为缺少的可能是其它东东,一般都是少了一个关门的动作,比如:打开了DO,必须用LOOP关上,打开了FOR,必须用NEXT关上,等等。
3、显示可疑的变量等内容。
有时提示出错的是某一行,但实际出错的并不一定是这一行,可能是这一行内包含的变量等内容。比如提示
rs.open sql,conntmp,1,1
这一行出错,那么,最大的可能是:rs对象,sql的内容,conntmp对象对象。一般情况下,对象的设置出错机会相对小一点,不然在设置该对象时可能就提示了(当然也有可能你根本就没有设置过该对象),而SQL变量的内容是经常性出错的,这时我们可以在出错行之前,SQL附值之后加上一句:response.write SQL
让它在ASP出错页面里显示SQL变量的内容。这样我们可以看清问题到底在那里,比如:
sql="select * from 表名 where 字段名='"&request("客户提交内容")&"'"
显示的sql内容可能是:
select * from 表名 where 字段名=
这样你就一目了然你的问题所在了。
不然光看上面的语句,你什么猜都猜不到问题所在的。