我使用'forever'来运行我的应用程序.我想附加到运行环境来检查我的应用程序.那我该怎么办?
Bil*_*ill 44
来自http://nodejs.org/api/debugger.html:
高级用法
可以通过使用--debug命令行标志启动Node或使用SIGUSR1发信号通知现有Node进程来启用和访问V8调试器.
找到你的node进程的PID 然后发送SIGUSR1应该做的诀窍:
kill -s SIGUSR1 nodejs-pid
Run Code Online (Sandbox Code Playgroud)
然后运行node-inspector并浏览到它指示的URL.本教程中的更多内容.
And*_*Mao 11
从Node 6.3开始,节点有一个内置的调试器,可以通过执行以下操作来触发(即使在生产应用程序中):
kill -USR1 <node-pid>
Run Code Online (Sandbox Code Playgroud)
节点进程会吐出这样的东西:
Debugger listening on ws://127.0.0.1:9229/f3f6f226-7dbc-4009-95fa-d516ba132fbd
For help see https://nodejs.org/en/docs/inspector
Run Code Online (Sandbox Code Playgroud)
chrome://inspecton http://host.domain:9229.如果无法通过浏览器连接(即服务器位于防火墙生产集群中),则可以激活REPL以检查命令行:
node inspect -p <node-pid>
Run Code Online (Sandbox Code Playgroud)在此版本之前,它node-inspector是用于调试节点进程的单独工具.但是,正如在其自己的页面上所记录的那样,它主要被弃用,因为现在捆绑的调试器被主动维护并提供更高级的功能.有关此更改的更多信息,请参阅此主题.
小智 6
对我来说,运行节点版本 6.9.10 我必须:
kill -USR1 <node-pid>
然后
node debug -p <node-pid>
node inspect -p <node-pid>此版本节点的命令失败。
如果您使用的 Windows 不支持 POSIX 信号,则可以从另一个 cmd.
node -e "process._debugProcess(PID)"
Run Code Online (Sandbox Code Playgroud)
launch.json通过单击滚轮打开配置或创建新配置{
"type": "node",
"request": "attach",
"name": "Attach to 9229",
"port": 9229
},
Run Code Online (Sandbox Code Playgroud)
node -e "process._debugProcess(21392)"
Run Code Online (Sandbox Code Playgroud)
现在一切都应该准备好了。