使用 node-inspect 调试线上 nodejs 应用

664 阅读1分钟

Node-inspect(github.com/nodejs/node… nodejs 应用,只需要发一个信号给 nodejs 应用的进程,nodejs 应用就开启了 debug 模式,就可以开始调试线上了,如我们的 nodejs 应用跑在了 3000 端口,我们找到对应的进程:

lsof -i tcp:3000

image

我们发现对应的 pid 是 35294,使用 node-inspect 发信号给对应的 node 进程

node-inspect -p 35294

然后我们可以看到对应的 nodejs 应用已经收到了这个信号

image

我们可以直接通过 inspect 来调试我们的应用了,按照这个想法,我们可以加上 Chrome 的 inspect 协议,去直接在外部给我们的机器发消息,当机器收到我们的消息的时候,去开启这个能力,我们就可以不用重启直接去调试线上应用了,避免一些奇葩的问题如:重启应用 bug 消失等。