Node.js:如何附加到正在运行的进程并使用控制台debugging服务器?

我用'永远'来运行我的应用程序。 我想附加到运行环境来检查我的应用程序。 那我能做什么?

http://nodejs.org/api/debugger.html

高级用法

V8debugging器可以通过使用–debug命令行标志启动Node,或者通过SIGUSR1发信号通知现有的Node进程来启用和访问。

find你的node进程的PID,然后发送SIGUSR1应该做的伎俩:

 kill -s SIGUSR1 nodejs-pid 

然后运行node-inspector并浏览到它指示的URL。 更多在这个教程 。

你可以添加一个REPL到你的应用程序。 例如,如果您添加REPL以在本地主机端口5001上侦听,则像往常一样启动应用程序并使用telnetlogin: telnet localhost 5001 。 这将带你到一个提示你可以直接与你的应用程序进行交互。

或者,如果您需要在应用到达某个状态时“暂停”,则需要添加“debugging器”。 将代码行放到代码中需要这些断点的区域,然后以debugging模式启动应用程序。

希望有所帮助。

即使这是一个古老但尚未解决的问题,还有一种更简单的方法,即将parameter passing给节点:

 forever start -c 'node --debug-brk' main.js 

如果你不想等待debugging器被连接,用--debug-brkreplace--debug-brk