2018-08-21
概述
nodejs由于没有界面,调试起来比较困难。本文介绍了一些用调试nodejs的方法和工具。 最方便的方式是用chrome调试nodejs。
zhouhh@/Users/zhouhh/git/uringsig $ node --inspect-brk index.js
Debugger listening on ws://127.0.0.1:9229/3a1eaae7-2ede-4b96-b803-93675a055b59
For help see https://nodejs.org/en/docs/inspector
3a1eaae7-2ede-4b96-b803-93675a055b59 是进程的唯一UUID。 –inspect 让nodejs支持inspector协议,监听websocket端口。缺省127.0.0.1:9229,可以–inspect=9229 修改端口。
–inspect-brk 断在第一行
监听客户端必须知道ip,端口和UUID。上述生成的地址是ws://127.0.0.1:9229/3a1eaae7-2ede-4b96-b803-93675a055b59
如果不能用–inspect 参数启动,也可以在Linux或OSX下发送SIGUSR1信号,node8 以上会启动Inspector API,监听调试端口。
Inspector 协议还提供一个Http端点,以获取 WebSocket URL, UUID, 和 Chrome DevTools URL。
地址是 http://[host:port]/json/list
访问 http://127.0.0.1:9229/json/list
[ {
"description": "node.js instance",
"devtoolsFrontendUrl": "chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/3a1eaae7-2ede-4b96-b803-93675a055b59",
"faviconUrl": "https://nodejs.org/static/favicon.ico",
"id": "3a1eaae7-2ede-4b96-b803-93675a055b59",
"title": "index.js",
"type": "node",
"url": "file:///Users/zhouhh/git/uringsig/index.js",
"webSocketDebuggerUrl": "ws://127.0.0.1:9229/3a1eaae7-2ede-4b96-b803-93675a055b59"
} ]
调试工具
node-inspect
- CLI Debugger 采用 Inspector Protocol协议,由Nodejs 基金会支持.
- Node有自带版本. 使用方式
node inspect myscript.js
- 最新版可以独立安装(e.g.
npm install -g node-inspect
) 使用方式:node-inspect myscript.js
.Chrome DevTools 55+
- Option 1: 在Chrome浏览器打开 chrome://inspect 点击 Configure 按钮,确定host和端口在列表中。
- Option 2: 从上述host和端口/json/list复制 devtoolsFrontendUrl 或 –inspect 提示信息,并复制到Chrome.
- Option 3: 安装 Chrome Extension NIM (Node Inspector Manager): https://chrome.google.com/webstore/detail/nim-node-inspector-manage/gnhhdgbaldcilmgcpfddgdbkhjohddkj
- 用浏览器打开类似如下的地址。替换UUID。NIM的插件可以自动打开该地址。
chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=localhost:9229/871f491a-1e34-41ae-b987-fccf2b7017a8
Visual Studio Code 1.10+
- 在 Debug 控制面板, 点击 settings 图标,打开 .vscode/launch.json.
- 点击 “Node.js” 进行初始配置.
Visual Studio 2017
- 选择 “Debug > Start Debugging” 或快捷键 F5.
- 详细命令
JetBrains WebStorm 2017.1+ 及 JetBrains IDE族
- 创建 Node.js 调试配置 点击 Debug. Node.js 7+ 缺省会使用–inspect参数. 如果要禁止,取消IDE注册表里面的 js.debugger.node.use.inspect
chrome-remote-interface
- 简化链接到 Inspector Protocol 端点的库.
参考
如非注明转载, 均为原创. 本站遵循知识共享CC协议,转载请注明来源
FEATURED TAGS
css
vc6
http
automake
linux
make
makefile
voip
乱码
awk
flash
vista
vi
vim
javascript
pietty
putty
ssh
posix
subversion
svn
windows
删除
编译
多线程
wxwidgets
ie
ubuntu
开源
c
python
bash
备份
性能
scp
汉字
log
ruby
中文
bug
msn
nginx
php
shell
wordpress
mqueue
android
eclipse
java
mac
ios
html5
js
mysql
protobuf
apache
hadoop
install
iocp
twisted
centos
mapreduce
hbase
thrift
tutorial
hive
erlang
lucene
hdfs
sqoop
utf8
filter
草原
yarn
ganglia
恢复
scrapy
django
fsimage
flume
tail
flume-ng
mining
scala
go
kafka
gradle
cassandra
baas
spring
postgres
maven
mybatis
mongodb
https
nodejs
镜像
心理学
机器学习
Keras
theano
anaconda
docker
spark
akka-http
json
群论
区块链
加密
抽象代数
离散对数
同余
欧拉函数
扩展欧几里德算法
ES6
node-inspect
debug
win10
vscode
挖矿