JavaScript 调试新武器
Venkman 是为 基于 Mozilla 的浏览器而提供的一个强大的 JavaScript 调试环境。本文将对Venkman 做一个简单的介绍。
环境:Mozilla Firefox 1.0.4
JavaScript Dubugger 0.9.84 (此为Venkman 的代号)
第一步就是给 Firefox 安装此插件。
点这里下载并安装插件
安装好后重启一下 Firefox,就可在菜单工具 -> JavaScript Debugger 点击来运行 Venkman。
Venkman 界面如下:
第二步,我们来写一个有错误的代码:
一个名为 Test.js 的 JavaScript 脚本文件。
1function test(str) {
2 alert(Str);
3}
一个名为 Test.html 的网页文件。
1<HTML>
2 <HEAD>
3 <Script Language="JavaScript" src="Test.js">< SPAN>Script>
4 < SPAN>HEAD>
5
6 <BODY onload="test('Hello')">
7 < SPAN>BODY>
8< SPAN>HTML>
我们可以看到在 Test.js 中的方法 test(str) 中有个不易被发觉得错误”alert(Src)”
这个 Src ,我们并没有声明过,像这种误打在平时的写代码过程中经常有这种问题。好,我们来看看 Venkman 是如何来捕捉这个 Bug 的。
你可以在 Venkman 中打开这个 Test.js 文件,也可以不用打开,因为在你打开了 Venkman 后,用 Firefox 执行任何带有 JavaScript 的网页,如果发生错误或者异常,Venkman 都会自动打开 这个 出错的脚本文件。当然前提是你已经对 Venkman 进行过设置了(Debug -> Error Triger -> Stop For Errors 和 Debug -> Throw Triger -> Sotp For Exceptions)。
第三步,用 Friefox 打开这个 Test.html 文件。你就会看到 Venkman 报告类似于如下的错误:
Stopped for error handler.
#0: function test(str=string:"Hello") in line 2
001: function test(str) {
002: alert(Str);
Continuing from error handler.
Exception ``ReferenceError: Str is not defined'' thrown from function test(str=string:"Hello") in line 2.
[e] message = [string] "Str is not defined"
Stopped for thrown exception.
#0: function test(str=string:"Hello") in line 2
001: function test(str) {
002: alert(Str);
Continuing from thrown exception.
Error ``ReferenceError: Str is not defined'' [xs] in file ``file:///E:/Dorian/MyDocument/Test.js'', line 2, character 0.
其中可以很清除的看到 Str 是未声明过的。
呵呵,这个 JavaScript 调试器的确很强大,在这里只不过做一个简单的介绍罢了。