调试JavaScript/VB Script脚本程序(ASP篇)


估计ASP这个玩艺用的人已经很少了,但是还是有很多老网站是用ASP技术制作的,维护的时候,还是需要调试修改一下ASP网页代码的。虽然ASP网页的代码大部分都是VBScript或者JavaScript编写的,而很多在浏览器上运行的DHTML代码也是用JavaScript/VBScript写成,这很容易误导程序员,认为两者都是在浏览器上运行的,其实不然。

  ASP网页代码是在服务器端运行的,具体来说是由IIS里面执行,为什么IIS可以同时执行ASP网页和ASP.NET网页代码,如果我告诉你IIS还可以执行JSP代码,你信不信?当然啦,IIS如何可以执行ASP,ASP.NET和JSP等代码又可以开一系列的文章来讲解啦。

  而DHTML代码是在浏览器端(IE或者Firefox)执行的,两种代码不同的执行方式也决定了不同的调试策略。

  综上所述,两种是不同是事物,但是两者是相辅相成,不可分割的……

  为了调试ASP网页代码,你需要调试IIS工作进程(不是IISAdmin那个进程),在IIS 6.0中,IIS工作进程名叫做w3wp.exe(World Wide Web Process),在IIS 6.0之前好像是dllhost.exe。因为IIS 5.0用的人已经不多了—主要是我已经不用了,所以本文是以IIS 6.0作为平台讲解的。

  因为打开调试支持会影响到网站的性能—即响应速度,所以默认情况下,IIS将ASP的调试功能关闭了:

  1.       打开IIS管理界面(IIS Manager或者iisadmin.exe)。

  2.       右键单击你要调试的网站,例如“默认网站(Default Web Site)”。

  3.       点击“家目录(Home Directory)”,点击“配置(Configuration)”。

  4.       选择“调试(Debugging)”页签。
5.       将“调试标志(Debugging Flags)”的两个勾都选上,如下图所示:

  6.       启动Visual Studio,点击“工具(Tools)”—“附加到进程…(Attach to process …)”。

  7.       在“选择进程(Available Process)”对话框里面,选择w3wp.exe(注意,选择“类型(Type)”列为“脚本,x86(Scripting, x86)那一个”)。

  如果你在对话框里面没有看到w3wp.exe,请先访问一下网站—因为网站可能重启了,然后点击“附加到进程…(Attach to process …)” 对话框上面的“刷新”按钮。

  如果还是没有看到w3wp.exe,勾选“显示所有用户的进程(Show processes for all users)”和“显示所有会话的进程(Show processes in all sessions)”两个复选框,再点刷新试试。

  如果还是没有看到,那么……

  a)      要么回到第一步重新做一次。

  b)      要么问候一下Visual Studio祖宗,回去睡觉,彻底忘掉这篇文章。

  现在的效果应该和下图类似:

8.       很遗憾,现在的Visual Studio 只支持设置函数断点了,至少我在2008里面是不能直接在代码行上设置断点了。

  9.       点击Visual Studio的“调试(Debug)”—“窗口(Windows)”—“断点(Breakpoints)”菜单。

  10.   然后点击“函数断点(Break at Function …)”,如下图所示:

  11.   在接下来的窗口中输入—TestFunction,如下图所示:

  12.   回到IE里面,刷新一下页面,这个时候,你应该可以做ASP调试了,如下图所示:


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3