实时调试nodejs app?

时间:2014-09-08 12:39:25

标签: node.js debugging

如何调试正在运行的nodejs应用?我找到了node-inspector等工具,但它似乎只支持从那里启动应用程序和调试。

1 个答案:

答案 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>
  • cont,c - 继续执行
  • 接下来,n - 下一步
  • step,s - Step in
  • out,o - 走出去
  • 暂停 - 暂停正在运行的代码

检查API以获取其他命令参考和其他详细信息

您也可以使用node-inspector。在支持websockets的任何浏览器中使用它。断点,分析器,实时编码等......真的很棒。

安装
npm install -g node-inspector

然后运行

node-debug app.js