目的
一般我们在调试单个网页时,所查看到的是此单个页面中的JS代码。如果JS代码运行在外挂插件中,就无法调试,此文的目的是:找到“调试所有被浏览器本身加载的或是任何后添加运行的JavaScript文件”的方法。
初始困惑
- 在给selenium IDE写扩展的时候一直在找调试它的方法。先说结论:使用Firefox自带的web开发者工具的浏览器工作箱即可,查看本文最后一节。
- AJAX应用一直是很难调试。JS代码一直盲目地在web浏览器中执行,程序出错,反馈很少:比如臭名昭著的“null is null or not an object”的问题。
调试工具1:VenKman
selenium官方文档上介绍的软件,又名JavaScript debugger,Mozilla的JavaScript调试器。只在FF中工作,但是JS在大部分浏览器中都是相同的,所以在FF上调试起启示性作用。
功能点:
- 基本的语法检查
- 断点,检查上下文,stepping through,栈导航。
软件组成:
- Loaded Scripts panel,通过单击面板中JavaScript文件旁边的展开/关闭(expand/collapse)三角形,我们可以浏览文件中的不同函数。
- 局部变量面板(Local Variables panel)支持在代码执行时跟踪变量的值。
-Breakpoints panel Watch, 断点面板(Venkman调试器)的提供断点查看功能,并允许你指定何时开始调试、何时停止执行等操作 - 调用栈面板(Call Stack panel)显示了当前位于代码的哪个位置。通过这个窗口,我们常常可以判断出正在执行哪些函数以及哪个函数调用了这个函数。
- 交互会话面板(Interactive Session panel)提供了可以交互工作的命令行。输入/help可以获得命令帮助。
附录: