JavaScript 调试新武器

 

Venkman 是为 基于 Mozilla 的浏览器而提供的一个强大的 JavaScript 调试环境。本文将对Venkman 做一个简单的介绍。

 

环境:Mozilla Firefox 1.0.4

JavaScript Dubugger 0.9.84 (此为Venkman 的代号)

 

第一步就是给 Firefox 安装此插件。

 

点这里下载并安装插件

 

安装好后重启一下 Firefox,就可在菜单工具 -> JavaScript Debugger 点击来运行 Venkman

 

Venkman 界面如下:

 t_venkman.jpg

 

 

第二步,我们来写一个有错误的代码:

 

一个名为 Test.js JavaScript 脚本文件。

 

1function test(str) {
2    alert(Str);
3}

 

一个名为 Test.html 的网页文件。

 

1<HTML>
2    <HEAD>
3    <Script Language="JavaScript" src="Test.js">Script>
4    HEAD>
5    
6    <BODY onload="test('Hello')">
7    BODY>
8HTML>

 

我们可以看到在 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 调试器的确很强大,在这里只不过做一个简单的介绍罢了。