2024年6月21日发(作者:)
第20卷第5期 电 脑 与 信 息 技 术
2 0 12年10月 Computer and Information Technolo
0ca.2012
文章编号:1005—1 228(2012)05—0069—03
浅谈ASP程序调试方法与技巧
孙枫
(南通市第一中学信息中心,江苏南通226001)
摘要:熟练掌握各种程序调试技术可以大大提高编程效率。文章简要描述了ASP程序的特点以及主要的几种错误类型,
详细探讨了ASP程序错误调试的常用技术,提出了巧妙运用Response对象的方法,最后介绍了避免错误产生的方法与良
好的编程习惯。
关键词:ASP程序;调试;技术;方法
中图分类号:TP311 文献标识码:A
Analyzing the Methods and Skills of ASP Program Debugging
SUN Feng
(The First Midge School ofJiangSu,NanTong the Information Center,Nantong 226001,China)
Abstract:It’S very useful for mastering all kinds of debugging program skills.The article describes ASP program’S features
and main types of default briefly,discusses the normal skils of debugging ASP program in detail,proposes the way of using
Response object skilluflly,and introduces the methods and good habits of programming in order to avoiding making
mistakes.
Key words:ASP program;debug;skill;method
无论是用哪种编程语言开发的程序,功能的复杂
建和运行动态网页或Web应用程序。ASP网页可以包
程度的不同,其代码量也不同,一般都在上千行,甚至 含HTML标记、普通文本、脚本命令以及COM组件
上万行。若没有一个良好的编程习惯,开发的程序不仅 等。利用ASP可以向网页中添加交互式内容,也可以
可读性差,更主要的是在出现错误时很难在成千上万
创建使用HTML网页作为用户界面的Web应用程序。
行的代码中寻找问题所在,如不按功能模块结构开发, ASP程序出现各种错误的时候,常常会导致ASP程序
程序结构层次混乱,变量命名无规则等不良编程习惯。 停止执行。当程序员遇到此类情况时,一般得到的都是
当然对于一些功能复杂的程序而言,即使具有了良好
一
些用处不大的提示,如:“单击刷新按钮,或稍后重
的编程习惯,但若没有一些程序调试方法与技巧,当出 试”,“打开loealhost主页,然后查找与所需信息相关的
现一些语义或逻辑错误时,就很难在海量的代码中寻 链接”等等,因此,详细了解脚本和页面中的错误如何
找并解决问题。 出现,可能产生的错误类型以及造成这些错误的原因,
本文便是针对ASP程序中出现的一些错误,提出
将会使程序开发中尽量避免错误,程序调试中更有效
了常用的程序调试方法与提高调试效率的技巧。
地处理出现的错误【l_。
1 ASP程序的特点
2 ASP程序的错误类型与常用调试技术
在众多的Web数据库开发技术中,ASP因其简单
2.1 错误类型
易学、便于开发与维护、助能强大等特点,已经成为
ASP程序常见的错误类型主要有以下四种[2131:
Web开发人员的首选平台之一。掌握ASP程序的调试
(1)脚本错误
方法与技巧,在开发功能复杂的程序时,将会大大提高
ASP的脚本主要分为客户端脚本与服务器端脚本
编程效率。
两类,而在出现脚本的错误时,可能会导致程序脚本无
ASP是一种服务器端脚本编写环境,可以用来创
法正确执行,程序停止执行或返回错误的结构。
收稿日期:2012—05—21
作者简介:孙枫(1977一),女,江苏南通人,中学一级教师,硕士研究生,主要研究方向:现代教育技术。
・
70・ 电 脑 与 信 息 技 术 2012年10月
(2)编译错误
当能大概确认错误位置时,就可追踪相关变量的
此类错误是由脚本语法错误导,程序无法编译通
过。如代码拼写错误、函数参数传递错误等。
(3)运行错误
中间值,来确认错误的最终位置。
(3)检查组件属性值
如果使用的组件具有在ASP脚本代码中设置的
属性,在完成设置之后,并且调用组件方法之前和之
后,能通过显示所有属性(或仅是可疑的属性)来跟踪
错误。当一个方法运行时,可能发现属性值意外地被组
件改变了,这或许是故意的,或许是因为组件中的缺
陷。
此类错误是在编译通过后,在运行过程中产生的
错误,它将造成脚本中断而不能正常运行。如无效过程
调用、溢出等。
(4)逻辑错误
此类错误是最难发现、最难解决的,它是由于程序
编写过程中输入错误或程序错误流引起的。这类程序
一
般编译正常,运行也正常,但运行结果错误。如关系
运算符“>=”写成“>”等。
2.2调试环境设置
在ASP程序运行时经常会出现“HTFP 500错误”,
而不能正常提示错误信息,这是由于IIS与浏览器相
关配置引起的。
(1)IIS配置
在IIS中,选中默认网站或虚拟目录,然后点击右
键选择“属性”,在属性对话框中选择“主目录”并点击
“配置”,在配置对话框中的“调试”选项卡内,启用调试
标志。
(2)浏览器配置
在浏览器属.I生窗口的“高级”选项卡内,勾选“显示
每个脚本错误的通知”复选框,并去掉“显示友好
HTFP友好错误信息”复选框的勾选,
在做好以上配置后,调试程序时将会正常出现错
误信息了。
2.3常用调试技术
ASP程序调试方法有很多,对于不同类型的错误
将采用不同的方法,常用的有以下几种:
(1)显示各种集合内容
当程序试图使用用户提供的值运行时,可能没有
得到所期望的结果,或者什么结果也没得到。此时就需
要追踪相关值的路径,直至搜索排查至每个环节,从而
判断出问题所在。
如果创建一个页面用来显示所有Request对象集
合、Session和Application对象的Contents和Static—
Contens集合的内容,可以任何网页使用Server.Execute
对其进行访问。所需要做的工作是把下面程序行加到
ASP网页中,用来显示集合的全部内容。当然,根据服
务器上文件存放的位置,必须给文件设置相应的路径。
<%Server.Execute”/path—to file/debug_Request.
asp”%>
(2)查看中间值
(4)利用Err对象
虽然在设置相关IIS与浏览器属性后能给出错误
提示信息,但信息提示页面信息繁杂,甚至有时还不能
准确定位并描述相关错误信息。此时,我们可以利用
ASP2.0所支持的Err对象来获取错误详细信息,如错
误代号、错误描述等。
以下代码是一测试程序,其中变量未定义直接使
用,而在程序起始处标有“Option Explicit”语句(即强制
变量声明),这样程序将会产生错误。
<%@Language=VBScript%>
<%Option Explicit%>
<%
On Error Resume Next
strTmp=”ASP程序调试测试!”
Response.Write strTmp
If Err.Number>O Then
Response.Write”对不起,程序发生错误,执行
终止!<br>”
Response.Write”错误代号:”&Err.Number
&”<br>”
Response.Write”错误原因:”&Err.Description
&”<br>”
EndIf
%>
以上代码加入了“On Error Resume Next”语句,所
以当VBScript执行到出错语句时,原本没有声明
strTmp变量而将终止执行程序,但现在则会跳过产生
错误的语句,直接执行下面的程序,如此以来,用户就
不会看到“无法显示网页”和存在许多术语的错误信息
了,只会看到由Err对象给出的Number(错误代号)、
Description(错误类型)等信息了。
发生错误后给出的提示信息如图1所示。
利用Err对象虽然可以有效地获取最后发生错误
的信息,但这种错误处理语句必须与原程序放在一起,
对程序的编写增加了一定的复杂度。另外,虽然有“On
第20卷第5期 孙枫:浅谈ASP程序调试方法与技巧
-
亘互 厘 基l匝蔓
文件 编辑遥)查看 ) 收藏夹 ) 工具瞧) 帮助
☆收藏夹 l嚣h。 : ,/lz7.口.o.“t毫st. p
…一 ..——
对不起,程序发生错误,执行终止
错误代号:500
错误原因:变量未定义
t , 100*’:
图1程序出错提示信息
 ̄rror Resume Next”语句使得在出现错误时可以继续往
F执行,但当有多处出现错误时,Err对象却只能获取
聂后一处错误的信息,这也给程序的调试带来了一定
均难度。
而ASP3.0中有一对象ASPError,利用它可以创建
自定义错误处理页,错误处理页是利用ASPError对象
茨取最近发生的一次错误信息。在IIS属性对话框中
“自定义错误”栏中,将自定义错误处理页按错误类
刹替换掉默认的错误处理页。这样在程序一旦发生错
吴时,将会直接调用自定义的错误处理。有关ASPError
对象的属性与方法可翻阅有关资料,与Err对象有类
似之处,在此不再赘述。
(5)Microsoft脚本调试工具
当开发更复杂的处理实际任务的应用程序时,经
常需要一个更加强大的工具来进行调试。Microsoft
 ̄cript Debugger(微软脚本调试器)是一种允许调试运
斤在客户机和服务器上的脚本的调试工具。它能用于
匪何启用ActiveX的脚本语言(包括VBScript和
[Script)编写的程序,也能够用来调试对Java applet、
lava Bean和ActiveX组件的调用。有关该工具的使用
疗法在本文中不再详细论述。
L4
_
巧用Response对象
以上常用调试技术对于一般的程序错误处理已经
足够能应付了。但对于有些复杂的程序错误调试时则
需要结合各种方法的优势,来查找问题并精确定位。
利用Err对象或自定义错误处理页中ASPError对
象可获取相关错误信息,但有时还不能精确定位至某
一
行,即使有些错误行与类型信息能清楚的获取,但出
错引发位置无法判断。此时可以同时借助ASP的内置
对象Response的Write方法来逐一追踪中间值。
Response.Write StrTmp ‘StrTmp为变量
Response.End() ‘End()为程序终止方法
利用上述两行代码放在出错位置,可以查看变量
值,以此来判断是否因此变量值而引起的错误。
另外,即使不用其它错误调试方法,仅用此两行代
码就能定位并排查问题。当程序出现错误时,可以将这
两行代码放在中间某处,若程序因End(1方法终止,
而并未出现默认提示错误信息,说明错误出现在该位
置的下方,此时可将这两行代码再往下移,当程序出现
默认提示错误信息而终止,说明错误出现在该位置的
上方,以此类推可精确排查出问题所在,同时可以逐一
追踪相关变量的值。
3 ASP程序错误避免方法
即使掌握了上述所介绍的程序调试技术,当遇到
一
个功能庞大的ASP程序来说,也不太可能很快地去
解决所有出现的问题。
因此,程序员在编写ASP程序时需要尽量避免错
误的产生,养成良好的编程习惯:代码的格式化与缩进
编排;显示声明变量;变量转换为合适的数据类型;规
范的变量命名与编码约定;封装脚本语言以便代码重
用;随时注意潜在的错误情况。
4结束语
了解一个编程语言的特性,掌握一些程序调试的
技术,养成一个良好的编程习惯对于任何一个程序员
开发任何一个程序都是非常重要的。
在程序出现错误时,凭借丰富的开发经验,综合巧
妙地运用各种调试技术,将会大大提高编程效率。
参考文献:
[1】徐罕,吴玉新.网站ASP后台解决方案[M】.人民邮电出版社,2001.
[2]张统宣.ASP程序错误及处理【JJ.信息技术,2011(5):208—210.
[3]王凤著,刘志军.浅谈(ASP}教学与程序调试方法IJ1.科技信息,
2006(5):96—97.
发布者:admin,转转请注明出处:http://www.yc00.com/web/1718970166a2754039.html
评论列表(0条)