如何重新连接到node.js的远程debugging器

在使用node.js的debugging器时,我一直在使用node --debug-brk XXXX.js运行节点进程进行debugging。 令人讨厌的是,如果我意外断开连接,我必须重新开始这个过程。 有没有办法重新连接到debugging器? 当我尝试(通过intelliJ),它根本不会重新连接。

尝试节点检查器时,它将重新连接到节点服务器,当您在浏览器中打开它,但debugging将从开始启动。

您也可以使用nodewebkit,这使得debugging代码变得很容易。

作为Google Chrome Developer Tools一部分发布的V8debugging器可用于debuggingNode.js脚本。 在Node.js GitHub wiki中可以find关于如何工作的详细解释。

替代品将是

Node.js版本0.3.4+具有内置的debugging支持。

 node debug script.js 

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

使用Profiler进行分析

注意 :profiler模块已被弃用,并且可能不适用于节点版本0.12

  1. 安装全局npm install -g profiler

  2. node --prof启动你的进程 – 这会创build一个v8.log文件

  3. 通过运行~/.nvm/v0.8.22/lib/node_modules/profiler/tools/build-nprof

  4. 运行~/.nvm/v0.8.22/lib/node_modules/profiler/nprof这将读取v8.logconfiguration文件,并给你很好的输出。

CPU和内存分析与NodeTime

  1. 安装到您的应用程序, npm install nodetime

  2. 在您的应用程序中包含require('nodetime').profile()

  3. 按照说明输出到控制台

或者,您可能希望使用基于nodetime的外观,但不会将数据发送到nodetime.com。

开发人员工具使用节点检查器进行debugging

  1. 全局npm install -g node-inspectornpm install -g node-inspector

  2. 在debugging模式下运行你的应用程序: node-debug your/node/program.js (或附加到正在运行的进程: kill -s USR1 <your node process id>)

  3. 在另一个terminal窗口中运行node-inspector: node-inspector

  4. 打开http://127.0.0.1:8080/debug?port=5858 (或通过用主机replace127.0.0.1来远程debugging;确保端口8080打开)。

Webkit开发人员工具使用Node Webkit Agent进行分析

  1. 安装到你的应用程序, npm install webkit-devtools-agent

  2. 包含在您的应用程序中, agent = require('webkit-devtools-agent')

  3. 激活代理: kill -SIGUSR2 <your node process id>

  4. 通过适当的链接访问代理