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


    在文章调试JavaScript/VB Script脚本程序(Wscript篇)里面,有网友问我如何调试ASP里面的脚本程序,我不知道他问得是调试ASP网页里面的VBScript ASP代码,还是ASP.NET网页里面的JavaScript/VBScript客户端代码,所以我就在这篇文章里面先将调试ASP网页里面的ASP代码这种情况都解释一下吧。

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

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

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

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

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

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

    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)”列为“脚本,x86Scripting, 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调试了,如下图所示:

  • 相关阅读:
    Arcgis中修改字段名方法
    题事件名称为CLR20r3
    【转】CLR20R3 程序终止的几种解决方案
    Ajax+asp.net无刷新验证用户名
    [转载]C/C++编译器cl.exe的命令选项
    [网络整理]DEBUG命令使用解析五
    [网络整理]DEBUG命令使用解析一
    [网络整理]DEBUG命令使用解析六
    [易学C#]C#3.0语言新特性
    [易学C#]C#3.0语言新特性之Lambda表达式
  • 原文地址:https://www.cnblogs.com/killmyday/p/1566299.html
Copyright © 2020-2023  润新知