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-brk
replace--debug-brk