资讯专栏INFORMATION COLUMN

nodejs调试方法

jcc / 442人阅读

摘要:调试方法提供了一个内建调试器来帮助开发者调试应用程序。这两个参数只会启动监听模式,不会进入命令行调试模式,而且前者会运行完所有代码,通常可用于事件调试,后者会在进入时中断,方便从头开始调试。安装编辑器使用配置调试的配置信息如下图。

Nodejs调试方法 1. Node debug

Nodejs提供了一个内建调试器来帮助开发者调试应用程序。使用debug模式时,Node.js 会启动Debugger模块,然后通过监听默认 5858 端口将命令行的输入传送到内建调试模块以达到调试的目的。

同时支持--debug 和 --debug-brk参数。这两个参数只会启动Debugger监听模式,不会进入命令行调试模式,而且前者会运行完所有代码,通常可用于事件调试,后者会在进入时中断,方便从头开始调试。

运行:node debug [需要调试的js]

调试命令说明:

repl 打开js上下文即时求值环境,可查看变量
run 执行脚本,在第一行暂停
restart 重新执行脚本
cont, c 继续执行,直到遇到下一个断点
next, n 单步执行
step, s 单步执行并进入函数
out, o  从函数中步出
setBreakpoint(), sb()   当前行设置断点
setBreakpoint(‘f()’), sb(...)   在函数f的第一行设置断点
setBreakpoint(‘script.js’, 20), sb(...) 在 script.js 的第20行设置断点
clearBreakpoint, cb(...)    清除所有断点
backtrace, bt   显示当前的调用栈
list(5) 显示当前执行到的前后5行代码
watch(expr) 把表达式 expr 加入监视列表
unwatch(expr)   把表达式 expr 从监视列表移除
watchers    显示监视列表中所有的表达式和值
kill    终止当前执行的脚本
scripts 显示当前已加载的所有脚本
version 显示v8版本
2. Node inspector

node-inspector是基于Node.js的Debugger模块进行调试的,是通过websocket方式来转向debug输入输出的。因此,我们在调试前要先启动node-inspector来监听Nodejs的debug调试端口。

安装: npm install –g node-inspector
运行:node-inspector & 或 node-inspector --web-port=5100 //启动调试,默认8080端口或者指定端口
node --debug-brk [需要调试的js] 或 node-debug [需要调试的js]

控制台会返回debugger listening on port 5858, 现在打开浏览嚣,访问 http://localhost:8080/debug?p... ,这时候就会打开一个很像Chrome内置调试工具的界面,并且代码断点在第一行,下面就可以使用这个来调试了。

缺点:页面不能刷新,每次调试需要重新运行 “node-debug [需要调试的js]"

3. V8_inspector

现如今,新版本的Chrome浏览器和新版本的Node.js支持通过一个新的调试协议能互相直接通讯了,就不再需要node-inspector了。

环境:

Node.js 6.3+

chrome 55+

需下载 Chrome 浏览器 Canary 版 (Canary 版是专为开发者和早期用户设计的版本,可能会造成浏览器当机)

步骤:

下载Chrome浏览器Canary版,打开 chrome://flags/#enable-devtools-experiments (启用开发者工具实验性功能)

重启Chrome。打开开发者工具 -> 设置 -> Experiments,按SHIFT键6次,显示隐藏选项后勾选Node debugging

在终端输入指令: node –-inspect [需要调试的js]。用Canary版浏览器打开终端输出的链接。

4. webstorm

安装webstorm,webstorm也是一个好软件,支持多平台。特别提醒ws是是一个商业收费软件,可以试用30天。

安装: webstorm编辑器

使用: 配置debug调试的配置信息(如下图)。再点击debug

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91844.html

相关文章

  • 使用Chrome DevTools调试Nodejs

    摘要:第三步在打开在地址栏输入并回车后就会看到以下页面了点击上面的链接跳转到调试页面你会看到一个调试当前代码的弹窗。更好的体验是,当你的重启后,这个调试窗口会重新连接。从上图,你会看到一堆经常用到的调试工具。 事实上chrome devtools在2016年5月就已经支持Nodejs的调试了,具体可以观看英文原版Google I/O上的视频 第一步:下载和安装最新版本的Nodejs(要求6....

    shadajin 评论0 收藏0
  • 你会 Nodejs (多进程)调试

    前言 我总是调侃好多 nodejs 开发都不会多进程调试,这其中就包括了我。直到有一天,我不得不使用它来解决一些问题,作为一个懒人,我喜欢用简单的办法,所以这可能是最简单的 Nodejs 调试方法,话不多说进入正题 单进程调试 console.log() 单进程的调试,如果场景不复杂、比较好预判,可以直接打印到控制台 // 添加参数 --debug-brk 可以在第一行断点 // node --i...

    zhaochunqi 评论0 收藏0
  • 使用typescript开发调试nodejs

    摘要:原文地址这两天在看也在入门中网上大部分教程都是前端配置开发调试这个也有很多相当成熟的实践教程这篇文章主要是的配置说起来也是相当简单的不涉及任何的语法与概念同时也可以根据本文配置的开发环境主要是模块部分的使用说起大家应该都挺熟悉了是一个 原文地址 https://github.com/xiadd/blog/issues/8 这两天在看ts,也在入门中, 网上大部分教程都是前端配置ts开发...

    张春雷 评论0 收藏0
  • 利用vscode调试nodejs代码实践总结

    摘要:支持,和三种环境,并且可以安装扩展插件,因而可以满足绝大多数人的要求,安装配置非本文所要讲述的内容,请自行查找,本文着重讨论如何用更好的调试代码,希望能对大家有所帮助。 2018.5.12更新 最近在用vscode 1.23版本的时候发现outDir不可以使用了,建议这么改吧,直接program采用编译后的文件,然后打开sourceMaps,同时在babel编译的时候自己搞--watc...

    chenatu 评论0 收藏0
  • 使用nodejs自带debug工具调试nodejs

    摘要:示例代码插入断点方法在需要设置断点的地方插入关键字,程序会在这里暂停运行。只需要在命令模式输入,按回车便可以进入环境。 1 示例代码 app.js var express = require(express); var app = express(); var req_times = 0; app.all(/*, function(req, res){ req_times...

    he_xd 评论0 收藏0

发表评论

0条评论

jcc

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<