调试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调试了,如下图所示:

标签:  调试


本文转自 donjuan 博客园博客,原文链接:  http://www.cnblogs.com/killmyday/archive/2009/09/14/1566299.html  ,如需转载请自行联系原作者
相关文章
|
7月前
|
JavaScript 前端开发 测试技术
使用Selenium执行JavaScript脚本:探索Web自动化的新领域
本文介绍了如何在Selenium中使用JavaScript解决自动化测试中的复杂问题。Selenium的`execute_script`函数用于同步执行JS,例如滑动页面、操作时间控件等。在滑动操作示例中,通过JS将页面滚动到底部,点击下一页并获取页面信息。对于只读时间控件,利用JS去除readonly属性并设置新日期。使用JS扩展了Selenium的功能,提高了测试效率和精准度,适用于各种自动化测试场景。
|
23天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
3月前
|
JavaScript 前端开发
用JavaScript脚本将当地时间转换成其它时区
用JavaScript脚本将当地时间转换成其它时区
|
4月前
|
开发框架 NoSQL .NET
使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
|
7月前
|
JavaScript 前端开发 NoSQL
【MongoDB 专栏】MongoDB 的 JavaScript 引擎与脚本执行
【5月更文挑战第11天】MongoDB 的 JavaScript 引擎允许在服务器端直接执行脚本,提升效率并实现定制化操作。脚本环境提供独立但与数据库关联的运行空间,引擎负责脚本的解析、编译和执行。执行过程包括脚本提交、解析、编译和执行四个步骤。掌握脚本逻辑设计和 JavaScript 语言特性对于高效利用这一功能至关重要。例如,通过脚本可以计算商品总销售额,增强数据库操作的灵活性。
107 1
【MongoDB 专栏】MongoDB 的 JavaScript 引擎与脚本执行
|
7月前
|
JavaScript 前端开发
Playwright执行 JavaScript 脚本:探索浏览器自动化的新境界
在Web自动化中,Playwright提供`page.evaluate()`和`page.evaluate_handle()`来执行JavaScript脚本。`page.evaluate()`返回脚本执行结果,而`page.evaluate_handle()`返回JSHandle。示例展示了如何使用它们,如打印网页标题、操作元素及获取页面内容。通过这些方法,可以处理常规方法难以操作的网页元素。
|
7月前
|
Web App开发 缓存 JavaScript
|
7月前
|
JSON JavaScript 前端开发
JS逆向快速定位关键点之9大通用hook脚本
JS逆向快速定位关键点之9大通用hook脚本
311 0
|
Web App开发 前端开发 JavaScript
你应该了解的 5 个 JavaScript 调试技巧
我之前使用过用 printf debugging,自此之后我用这种方法似乎总能更快地解决bug。 在某些情况下需要更好的工具,下面是其中的一些佼佼者,我敢肯定你会发现它们的有用之处:
你应该了解的 5 个 JavaScript 调试技巧
|
Web App开发 JavaScript 前端开发