JavaScript 程序越来越复杂,调试工具的重要性日益凸显。客户端脚本有浏览器,Node 脚本怎么调试呢? 2016年,Node 决定将 Chrome 浏览器的'开发者工具'作为官方的调试工具,使得 Node 脚本也可以使用图形界面调试,这大大方便了开发者。 本文介绍如何使用 Node 脚本的调试工具。 一、示例程序为了方便讲解,下面是一个示例脚本。首先,新建一个工作目录,并进入该目录。
然后,生成
接着,新建一个脚本
上面代码是一个简单的 Web 应用,指定了两个路由,访问后会显示一行欢迎信息。如果想了解代码的详细含义,可以参考 Koa 教程。 二、启动开发者工具现在,运行上面的脚本。
上面代码中, 接下来,就要开始调试了。一共有两种打开调试工具的方法,第一种是在 Chrome 浏览器的地址栏,键入 在 Target 部分,点击 inspect 链接,就能进入调试工具了。 第二种进入调试工具的方法,是在 http://127.0.0.1:3000 的窗口打开'开发者工具',顶部左上角有一个 Node 的绿色标志,点击就可以进入。 三、调试工具窗口调试工具其实就是'开发者工具'的定制版,省去了那些对服务器脚本没用的部分。 它主要有四个面板。
这些面板的用法,基本上跟浏览器环境差不多,这里只介绍 Sources (源码)面板。 四、设置断点进入 Sources 面板,找到正在运行的脚本 在第11行(也就是下面这一行)的行号上点一下,就设置了一个断点。
这时,浏览器访问 http://127.0.0.1:3000/alice ,页面会显示正在等待服务器返回。切换到调试工具,可以看到 Node 主线程处于暂停(paused)阶段。 进入 Console 面板,输入 name,会返回 alice。这表明我们正处在断点处的上下文(context)。 再切回 Sources 面板,右侧可以看到 Watch、Call Stack、Scope、Breakpoints 等折叠项。打开 Scope 折叠项,可以看到 Local 作用域和 Global 作用域里面的所有变量。 Local 作用域里面,变量 然后,点击顶部工具栏的继续运行按钮。 页面上就可以看到 Hello bob 了。 命令行下,按下 ctrl + c,终止运行 五、调试非服务脚本Web 服务脚本会一直在后台运行,但是大部分脚本只是处理某个任务,运行完就会终止。这时,你可能根本没有时间打开调试工具。等你打开了,脚本早就结束运行了。这时怎么调试呢?
上面代码中, 访问 代码放在
上面代码中, 六、忘了写 --inspect 怎么办?打开调试工具的前提是,启动 Node 脚本时就加上 回答是可以的。首先,正常启动脚本。
然后,在另一个命令行窗口,查找上面脚本的进程号。
上面命令中, 接着,运行下面的命令。
上面命令会建立进程 30464 与调试工具的连接,然后就可以打开调试工具了。 还有一种方法,就是向脚本进程发送 SIGUSR1 信号,也可以建立调试连接。
七、参考链接
(完) |
|
来自: goodwangLib > 《JS》