Node.js 调试

发布于 2022-08-09 19:17:40 字数 2081 浏览 163 评论 0

1523879047317

最简单的调试

启动文件时添加 --inspect 命令可以启用检查器,默认端口号是 9229,启动器的客户端可以通过通过连接这个端口来进行调试,最简单的就是通过 chrome dev tool 打开 chrome://inspect 来打开 dev tools 进行调试。

node --inspect index.js

默认端口是 9229 ,可以指定其他端口,如:

node --inspect=9002 index.js

这个时候需要打开 chrome://inspect 配置对应的端口去连接,当然为了方便,可以安装如 NIMNode.js V8 Inspector的浏览器插件帮助我们快速切换端口。

为了更加方便的自动在开头打断点,可以将 --inspect-brk 替代 --inspect:

node --inspect-brk=9002 index.js

cli application 调试

在对应的 bin 文件中加入对应的 --inspect 参数即可:

#!/usr/bin/env node --inspect-brk

使用 VS Code 调试

简单的单文件调试,目前直接 F5 就可以调试,为了更强大的功能,可以通过配置对应项目的 launch.json 文件。

调试 child_process

子进程调试是一个非常尴尬的问题,最简单的方法就是启动子进程时将 --inspect-brk 参数传递进去,同时需要将对应的端口号传递进去:

process.execArgv.push('--inspect-brk=9009')
childProcess.fork(path.resolve(__dirname, './child.js'), ['--inspect-brk=9002'])
childProcess.spawn(process.execPath, ['--inspect-brk=9009', path.resolve(__dirname, './child.js')])

那么问题来了,那这样如何区分开发和线上环境?

使用 ndb

ndb 是 Google 出的调试工具,内置了可以自动 attach,这样在开发多进程的应用时会方便很多。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

滥情稳全场

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

烙印

文章 0 评论 0

singlesman

文章 0 评论 0

独孤求败

文章 0 评论 0

晨钟暮鼓

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文