如何在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项目,程序将会在运行到你设置的断点处停止。
作者: XuGang 网名:钢钢 |
出处: http://xugang.cnblogs.com |
声明: 本文版权归作者和博客园共有。转载时必须保留此段声明,且在文章页面明显位置给出原文连接地址! |