调试JavaScript/VBScript脚本程序(IE篇)
这两种方式,都可以使用Visual Studio来进行调试,先看大家用得比较频繁的网页脚本程序的调试:
1. 要调试网页里面的脚本程序,调试器需要宿主程序—这里也就是IE的支持,实际上所有的脚本程序解释器都实现了一个COM的调试接口。调试器通过查询解释器的这个接口,可以设置断点,查询变量以及捕捉异常,当然,查询到这个接口,需要宿主程序同意……至于如何实现这个接口,我们会在以后的文章里面讲到。
2. 默认情况下,IE是将脚本调试支持功能关闭的,因此你需要显示地打开它。打开IE,点击“工具”—“Internet 选项”,在“Internet 选项”里面选择高级页签,在“设置”列表里面,找到“禁用脚本调试(Internet Explorer)”选项,它默认是勾选上的—将它勾掉。
3. 使用IE打开一个新的网页,无论是一个远程的,或者本地的(从本地硬盘打开)网页。例如下面一个网页,另存为test.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JavaScript调试</title>
<script language=javascript>
function onload() {
var test = unescape("http://www.google.com");
alert(test);
}
</script>
</head>
<body onload="onload()">
</body>
</html>
4. 启动Visual Studio,点击VS菜单里面的“工具”—“附加到进程”菜单,打开“附加到进程”窗口里面。Visual Studio其实支持很多种调试模式,调试C++(native)程序,调试.NET(托管)程序,调试脚本程序,调试Silverlight程序以及调试SQL存储过程。默认情况下,Visual Studio会根据附加的进程类型来选择最合适的调试模式,但是有的时候,你需要手工设置一下。例如Internet Explorer这种程序,IE可以同时运行多种子程序,IE本身和ActiveX控件是C++/C写成的,IE可以运行Winform/WPF程序,IE可以运行Silverlight程序,当然,IE最多的还是运行JavaScript/VB Script脚本程序。Visual Studio在附加到Internet Explorer进程的时候,总是会被IE弄糊涂,所以我们需要手工告知Visual Studio我们希望采用什么调试模式。
在“附加到进程”窗口里面,在“附加到…”(英文是Attach To…)文本框旁边点击“选择”按钮,在弹出的“选择代码类型”窗口里面,勾选“调试下列类型”,并选择“脚本”。如下图所示:
5. 接着你需要在“附加到进程”窗口里面选择要附加的进程,在“可用进程”(Available Processes)列表里面,有一个“类型”(Type)列,里面列举了对应进程支持的调试模式,比如你可以看到在上图里,好几个iexplore.exe支持脚本和C++调试模式(Script, x86)。因此你所需要做的就是找到执行网页的进程,这里我选择了ID为3732的iexplore.exe,因为那个是运行第三步网页的进程。最后点击“附加”(Attach)按钮使用脚本调试模式调试指定的IE进程。
注:细心的网友可能会看到,ID为1692的iexplore.exe的标题是“JavaScript调试”—对应的就是我们执行网页的浏览器进程ID。其实在IE 8以前,选择执行网页的浏览器进程一般都是根据浏览器的标题做的,但是IE 8里面有一些改变,这个变化以后的文章里会讲到。
6. 附加上去以后,在网页的第7行(网页源码在第三步里面)设置一个断点—就跟平常调试C#和C++代码一样,设置好了以后,返回到IE进程里面,刷新网页。这个时候,Visual Studio应该会在网页的第7行中断IE的执行,你可以在“监视”(Watch)窗口里面查看脚本变量的值:
- Javascript调试工具(下载)
- Javascript调试脚本的经验之谈
- javascript脚本调试方法小结
- 在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
- js调试工具 Javascript Debug Toolkit 2.0.0版本发布
- ie 调试javascript的工具
- Javascript 调试利器 Firebug使用详解六
- Aptana调试javascript图解教程
- 两个JavaScript jsFiddle JSBin在线调试器
- JavaScript 错误处理与调试经验总结
- javascript 在firebug调试时用console.log的方法
- 调试Javascript代码(浏览器F12及VS中debugger关键字)
- 10个基于浏览器的JavaScript调试工具分享
- 利用浏览器的Javascript控制台调试PHP程序
- 禁用JavaScript控制台调试的方法
- JS高级调试技巧:捕获和分析 JavaScript Error详解
- JavaScript调试技巧之console.log()详解
- javascript调试之DOM断点调试法使用技巧分享
- 使用Chrome调试JavaScript的断点设置和调试技巧
- 谷歌浏览器调试JavaScript小技巧
- JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
相关文章
chatGPT使用及注册过程中常见的一些错误解决方法(所有报错汇总)
这篇文章主要介绍了chatGPT注册报错及使用过程中报错汇总及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-02-02Elasticsearch 在地理信息空间索引的探索和演进问题分析
本文梳理了Elasticsearch对于数值索引实现方案的升级和优化思考,从2015年至今数值索引的方案经历了多个版本的迭代,实现思路从最初的字符串模拟到KD-Tree,技术越来越复杂,能力越来越强大,应用场景也越来越丰富,感兴趣的朋友跟随小编一起看看吧2022-06-06
最新评论