如何在VS2005 中调试JavaScript 脚本

简介:

JavaScript是一种弱类型的编程语言,与C#等语言不同,在JavaScript中,变量的类型是在运行时解析的,而且可以在运行时变换变量的类型。这为它带来了前所未有的灵活性,可以实现很多绚丽的功能,但是对于IDE来说却很头疼,由于只能在运行时获得关于变量类型的信息,因此实现智能提示,调试等功能非常困难。不过令人兴奋的是,微软已经在VS2005中已经集成了JavaScript的调试功能,并且在VS2008中集成了智能提示功能。

问题1:无法启用调试

VWD2005中启动调试时如果弹出一个如下内容为无法附加。绑定句柄无效。对话框, 那么很可能是由于你禁用了Terminal Service服务。启用Terminal Service服务即可。




问题2:如何在VS2005中调试JavaScript

JavaScript是一种弱类型语言,目前的各种IDE对它的调试支持都比较弱,但是在VS2005中我们可以轻松的对它进行调试,而且在Express版本中也集成了此项功能(可惜的是在Visual Web Developer 2008 Express中,没有包含脚本调试功能。)。但是在使用它之前我们需要对浏览器进行设置。

1. 在IE 6中,选择工具>Internet选项,在弹出的Internet选项对话框中选择高级选项卡,将禁用脚本调试(Internet Explorer)和禁用脚本调试(其它)两个选项的勾都去掉,即确保没有选中它们。然后重新启动IE


2. 在你希望的地方设置断点,按F5键直接启动调试。当程序运行到断点处时,自动停在断点处。


注意此种方法只能调试外部的脚本文件,对于内置在页面文件的脚本,可以在想中断的脚本处添加debugger;语句即可,如下图所示。




问题3如果安装了微软的Microsoft Script Debugger,会改变VS2005的默认设置,导致内置的JavaScript调试功能失效。

解决方法:选择Tools>Options,在弹出的Options对话框中,将Debugging>Just-In-Time下的Script选项选中即可。(默认情况下,没有Debugging条目。勾选对话框坐下角的Show all settings即可。)


后记:

在我使用VS2005内置的脚本调试功能一段时间之后,突然发现它失效了,症状是Script Explorer总是为空,没有任何脚本文件。经过一段时间的摸索之后(使用VS2005的导入和导出设置功能将设置复位,修复VS2005,就剩下重装VS2005没有试过了),最终只好利用Debug>Attach to process…功能。方法如下:

首先在IE中打开你要调试的网页,例如:http://localhost:2847/WebSamples/Default.aspx

然后在VS2005中选择Debug>Attach to process…,打开Attach to process对话框,选择IEXPLORE.EXE进程,单击Attach。然后在脚本文件中设置合适的断点,在IE中进行操作以触发对应的函数,会自动跳转到VS2005的断点处。

补记:在asp.net中一步一步调试JavaScript,在这篇文章里我使用了IIS和Visual Studio 2005。

配置:

第一步:在Visual Studio 2005中打开一个已经存在的asp.net应用程序,其中要有一些JavaScript。

第二步:当我们在微软的Visual Studio中创建了一个Web项目,那么一个名为Web.config的文件默认也被创建在了该Web项目中。

我们检查一下它的设置:把debug的属性该为true。

第三步:打开Internet 信息服务(IIS)管理器。

开始->管理工具->Internet 信息服务(IIS)管理器->网站->默认网站->右键单击你想调试的Web项目->属性->虚拟目录选项卡->配 置->在新打开的windows窗口中选择调试选项卡->把“启用 ASP 服务器端脚本调试”和“启用 ASP 客户端脚本调试”两个复选框选中。

第四步:打开IE,单击菜单栏的“工具”->Internet 选项->高级选项卡->取消“禁用脚本调试(Internet Explorer)”和“禁用脚本调试(其他)”两个复选框的选中状态。

第五步:现在,在Visual Studio IDE打开你的Web项目。

注意:JavaScript一定要放到一个单独的.js文件里,而不能直接在.aspx页里写JavaScript。然后像对待.cs或.vb文件一样,在.js文件里给某行添加断点即可。

第六步:运行你的Web项目,程序将会在运行到你设置的断点处停止。




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2011/07/17/2108481.html,如需转载请自行联系原作者
相关文章
|
2月前
|
JavaScript 前端开发 测试技术
使用Selenium执行JavaScript脚本:探索Web自动化的新领域
本文介绍了如何在Selenium中使用JavaScript解决自动化测试中的复杂问题。Selenium的`execute_script`函数用于同步执行JS,例如滑动页面、操作时间控件等。在滑动操作示例中,通过JS将页面滚动到底部,点击下一页并获取页面信息。对于只读时间控件,利用JS去除readonly属性并设置新日期。使用JS扩展了Selenium的功能,提高了测试效率和精准度,适用于各种自动化测试场景。
55 1
|
2月前
|
JavaScript 前端开发 Java
liteflow规则引擎 执行Javascript脚本
liteflow规则引擎 执行Javascript脚本
59 1
|
4月前
|
移动开发 JavaScript 数据可视化
分享88个JS播放器脚本,总有一款适合您
分享88个JS播放器脚本,总有一款适合您
59 0
|
3月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
81 0
|
3天前
|
JavaScript 前端开发 NoSQL
【MongoDB 专栏】MongoDB 的 JavaScript 引擎与脚本执行
【5月更文挑战第11天】MongoDB 的 JavaScript 引擎允许在服务器端直接执行脚本,提升效率并实现定制化操作。脚本环境提供独立但与数据库关联的运行空间,引擎负责脚本的解析、编译和执行。执行过程包括脚本提交、解析、编译和执行四个步骤。掌握脚本逻辑设计和 JavaScript 语言特性对于高效利用这一功能至关重要。例如,通过脚本可以计算商品总销售额,增强数据库操作的灵活性。
【MongoDB 专栏】MongoDB 的 JavaScript 引擎与脚本执行
|
10天前
|
JavaScript 前端开发 开发者
JavaScript基础入门之浏览器控制台调试输出
本文章是对小白学习js的初级教程,也是我对自己学习经验的一种总结,文章大多采用使用案例加讲解,带动学习的方式.因为我们的天性总是喜欢有及时反馈的事物,但是学习是一个慢长的事情,而有结果的回应,才会更好的促进自己去学习,主要是对于javascript学习中的输出,有个大体上的了解,同时通过教学能够更好的使用浏览器来方便我们去学习和运行代码,也是对自己进行笔记整理,对抓住信息关键点的一种提高.
|
14天前
|
前端开发 JavaScript 开发者
【JavaScript技术专栏】JavaScript错误处理与调试技巧
【4月更文挑战第30天】JavaScript开发中的错误处理和调试至关重要。语言提供三种错误类型:语法错误、引用错误和类型错误。为处理错误,可以使用`try...catch`捕获异常,`throw`语句显式抛出错误,以及`Error`对象创建自定义错误。调试技巧包括使用`console.log`、设置断点、利用源映射和性能分析。这些方法能帮助开发者高效定位和解决问题,提高代码质量。
|
1月前
|
监控 前端开发 JavaScript
如何在浏览器中使用javaScript进行代码调试
【4月更文挑战第11天】在浏览器中调试JavaScript是前端开发的关键技能。使用开发者工具(可通过F12、右键检查或菜单栏访问),遵循以下步骤:1) 打开Sources标签页查看所有脚本;2) 设置断点在需要暂停的代码行;3) 刷新页面触发断点;4) 利用调试工具如Scopes、Watch、Call Stack等检查代码状态;5) 使用Console辅助调试;6) 利用其他工具如Network、Performance和Memory进行性能分析。确保使用最新工具,保持代码清晰,以提升调试效率。
52 4
|
1月前
|
Web App开发 缓存 JavaScript
|
2月前
|
JSON JavaScript 前端开发
JS逆向快速定位关键点之9大通用hook脚本
JS逆向快速定位关键点之9大通用hook脚本