假如页面很长,而且出现了一个不希望得到的结果,也就是说网页出现了错误。这个时候要检查错误发生的地方,就要一行一行的跟踪代码的执行过程,以便得到变量的变化结果。如果用前面的方法则效率低下,而且也很容易出错;如果采用脚本调试器就能很容易地完成。
在Windows 2000 中自带的IIS5.0 就有脚本调试器,通过设置就可以很方便的调用脚本调试器调试出错的网页。为了使ASP 应用程序可以使用脚本调试器,首先要找到“Internet服务管理器”,然后运行该程序,如图11-10 所示。
图11-10 Internet 服务管理器
找到“默认Web 站点”选项卡,选择属性项,找到“主目录”一页,如图11-11 所示。
图11-11 “默认Web 站点”的属性项
点击“配置”按钮,找到“应用程序”选项卡,如图11-12 所示。
图11-12 应用程序配置选项
在该对话框中,选择“启用ASP 服务器端脚本调试”,这样就可以在服务器端调试脚本程序了。当网页的代码出现错误时,就会在服务器端自动启动脚本调试器,这样就能完成网页的调试。记住在调试程序时,才打开该选项,一旦网页调试完成,最好关闭该选项。
下面,以一个例子进行解释。把例11-1修改得到的代码例11-13。
例11-13:
这个代码如果有几百行,可以在浏览器中发现遇到除零错,但找到该错误很难。现在使用脚本调试器,就可以很容易地找到错误。通过浏览器运行该网页代码,脚本调试器就会自动在服务器上自动运行,停留在错误的地方,并告诉程序员错误消息。如图11-13 所示。
图11-13 自动调出的脚本调试器
从这个图中,可以看出这个错误是“被零除”。点击“确定”按钮,则进入脚本调试器窗口,同时会有一个箭头出现在产生错误的那一行。如图11-14 所示。(www.xing528.com)
图11-14 脚本调试器窗口
在“View”的菜单中选择“Command Window”,就会弹出一个命令窗口,在这个窗口中可以检查变量和表达式的值。如图11-15 所示。在变量前加一个“?”后回车,就可以查看变量的值,也可以对变量进行赋值。
图11-15 命令窗口
通过查看改变变量的值,就可以找到产生错误的原因。
有时尽管没有出现任何错误,但还是得到了不期望的结果。这时候,一行行地调试代码,显然效率太低,采用中断方法则可以较快的找到错误的原因。通过在某行代码前加上一条Stop语句,就可以使脚本调试器在Stop语句处自动停止,如图11-16所示。
图11-16 加入Stop语句后的脚本调试器的情况
这时候,就可以一步步调试。可以使用命令窗口来检查ASP 中每个变量的值,也可以通过使用Debug 菜单上的选项单步运行该页的代码。这些选项如图11-17 所示。通过Debug 菜单上的选项,可以继续运行代码或再次停止。每次可以在命令窗口中查看正在使用的变量的值,当然也可以在客户端查看每一行的运行结果。如果你的代码调用了Response.Write 方法,那么就可以运行该行代码,在浏览器中查看该行代码的结果。
图11-17 Debug菜单选项
在Debug 菜单上的第一项是“Run”命令,该命令的作用是运行到下一条Stop 语句,该菜单中的“Stop Debugging”命令可以结束调试过程。
在菜单中,最常用的命令是“Step Into”,“Step Over”,“Step Out”,这些命令选项提供了不同的单步运行程序的方式,在单步运行方式下,可以在命令窗口查看每一个变量的值,可以加深对页面代码逻辑的理解。
其中“Step Into”命令表示可以运行下一条命令,即使下一条代码出现在该页其他位置的某个函数中。“Step Over”命令也可以运行下一条命令,但与“Step Into”命令不同之处在于,该命令不会进入函数或过程内部,只是把函数或过程调用作为一条语句来对待。“Step Out”命令用于从已经进入的函数或过程内部立即返回到调用该函数或代码出口。
“Toggle Breakpoint”是设置断点,“Clear All Breakpoint”是清除所有的断点。如果想运行到程序中某一行就自动停止,就可以使用设置断点的功能:把鼠标移到该行,然后选择“Toggle Breakpoint”命令就在该行设置一个断点,其作用相当于在该行加了一条“Stop”语句。运行“Run”命令,就可以在设置断点的地方停止。一个程序可以设置多个断点。在调试结束后,使用“Clear All Breakpoint”命令就可以清除设置的所有断点。
除使用IIS5.0的脚本调试器外,还可以使用其他的工具进行调试,比如前面介绍的Visual InterDev 就有很强的编辑和调试功能,利用Visual InterDev 可以进行更加深入的编辑和调试。Visual InterDev 主要用在程序编辑的时候调试,而脚本调试器主要用在程序已经编辑好后,通过在服务器运行,让其他人进行寻找错误和Bug,然后再进行调试。使用两个调试器,可以使程序更加合理。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。