如何调试node应用()
过时的调试方法
【如何调试node应用()】过去调试node应用,需要借助node-inspector
:
- 安装:
npm install -g node-inspector
- 启动应用:
//node-debug 命令将在默认浏览器中加载 Node Inspector。 node-debug app.js
- 使用浏览器打开node应用服务的地址,再用chrome打开第二步打印出的地址,即可进行调试。
在好几个月前,我开始使用 Node.js v6.4.0,同样的也安装了 Node Inspector 来进行 Debugging,然后就遇到了:Throwing exception on simple use case。
在好长一段时间,这个问题没有得到解决,相关讨论,PR也没有得到回应或者 Merge。直到最近,终于合并了一个 Pull Request:Fix callback call in InjectorClient._findNMInScope。然而 Node Inspector package 还没有发布 patch 更新,所以
npm install -g node-inspector
依然会遇到这个问题。如果需要在 v6.4.0 以上版本使用 Node Inspector,可以直接从 github 下载安装
npm install -g https://github.com/node-inspector/node-inspector
,或者手动修改 InjectorClient.js。Node.js 集成 V8 Inspector
在 Node Inspector issues里看到了很多讨论,有开发者提出了使用
node --inspect app.js
来替代 node-inspector。 原来 Node.js v6.3.0+ 已经内置支持了 V8 Inspector。Node.js debugger docs 文档也增加了这部分内容:
?:这是一个实验特性。V8 Inspector 集成允许将 Chrome 开发工具通过 Chrome Debugging Protocol连接到 Node.js 实例以进行调试和分析。
V8 Inspector 可以通过在启动 Node.js 应用程序时传递
--inspect
标志来启用。 也可以提供具有该标志的自定义端口,例如, --inspect=9222
将接受端口9222上的 DevTools 连接。如需在应用的第一行代码添加断点,在
--inspect
之外增加 --debug-brk
标志。$ node --inspect index.js
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2
应用启动后,打开
chrome://inspect/#devices
,在config
里添加node应用监听的地址,例如上述事例中的:localhost:9229
点击
Open dedicated DevTools for Node
,切换到source
标签页,即可进行调试。参考
在 Chrome DevTools 中并行调试 Node.js 和浏览器 JavaScript
Nodejs 调试方法
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- Node.js中readline模块实现终端输入
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- 移动端h5调试方法
- Linux下面如何查看tomcat已经使用多少线程