如何调试正在运行的nodejs应用?我找到了node-inspector
等工具,但它似乎只支持从那里启动应用程序和调试。
答案 0 :(得分:4)
调试正在运行的nodejs app。
这是V8的一个小记录功能与node.js调试器客户端的未记录功能的组合。假设您已经在运行要调试的节点进程。
# start the remote debugger in the already running node process
kill -s USR1 pid
# attach to the debugger using the node.js client
node debug host:5858
# see where you are
debug> pause
debug> bt
从那里你可以四处寻找。您也可以继续并再次暂停,看看您是否始终在同一代码区域内。
调试nodejs app。
V8附带了一个广泛的调试器,可通过简单的TCP协议进行进程外访问。 Node有一个用于此调试器的内置客户端。要使用它,请使用debug参数启动Node;将出现提示:
% node debug myscript.js
< debugger listening on port 3000
connecting... ok
break in /home/username/Code/myscript.js:1
1 x = 5;
2 setTimeout(function () {
3 debugger;
debug>
检查API以获取其他命令参考和其他详细信息
您也可以使用node-inspector。在支持websockets的任何浏览器中使用它。断点,分析器,实时编码等......真的很棒。
用
安装npm install -g node-inspector
然后运行
node-debug app.js