blog
blog copied to clipboard
使用 node-inspect 调试线上 nodejs 应用
Node-inspect(https://github.com/nodejs/node-inspect)有个好处就是可以不重启线上 nodejs 应用,只需要发一个信号给 nodejs 应用的进程,nodejs 应用就开启了 debug 模式,就可以开始调试线上了,如我们的 nodejs 应用跑在了 3000 端口,我们找到对应的进程:
lsof -i tcp:3000
我们发现对应的 pid 是 35294,使用 node-inspect 发信号给对应的 node 进程
node-inspect -p 35294
然后我们可以看到对应的 nodejs 应用已经收到了这个信号
我们可以直接通过 inspect 来调试我们的应用了,按照这个想法,我们可以加上 Chrome 的 inspect 协议,去直接在外部给我们的机器发消息,当机器收到我们的消息的时候,去开启这个能力,我们就可以不用重启直接去调试线上应用了,避免一些奇葩的问题如:重启应用 bug 消失等。