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

时间:2014-06-11 05:28:44

标签: node.js debugging intellij-idea

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

3 个答案:

答案 0 :(得分:2)

尝试使用node-inspector,它会在浏览器中打开时重新连接到节点服务器,但调试将从启动开始。

答案 1 :(得分:1)

您还可以使用nodewebkit,这样可以轻松调试代码。

答案 2 :(得分:1)

作为V8的一部分发布的Google Chrome Developer Tools调试器可用于调试Node.js脚本。有关其工作原理的详细说明,请参见Node.js GitHub wiki

替代方案

Node.js版本0.3.4+具有内置调试支持。

node debug script.js

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

使用Profiler

进行分析

注意:不推荐使用探查器模块,并且可能无法使用节点的版本0.12

  1. 全球安装npm install -g profiler

  2. 使用node --prof开始您的流程,这将创建一个v8.log文件

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

  4. 构建nprof
  5. 运行~/.nvm/v0.8.22/lib/node_modules/profiler/nprof这将读取v8.log配置文件并为您提供良好的输出。

  6. 使用NodeTime

    的CPU和内存分析
    1. 安装到您的应用程序npm install nodetime

    2. 在您的申请中加入require('nodetime').profile()

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

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

      使用Node Inspector

      进行调试的开发人员工具
      1. 全球安装:npm install -g node-inspector

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

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

      4. 打开http://127.0.0.1:8080/debug?port=5858(或通过将127.0.0.1替换为主机远程调试;确保端口8080已打开)。

      5. 使用Node Webkit Agent

        的Webkit开发人员工具概要分析
        1. 安装到您的应用程序npm install webkit-devtools-agent

        2. 在您的申请中加入agent = require('webkit-devtools-agent')

        3. 激活座席:kill -SIGUSR2 <your node process id>

        4. 通过appropriate link

        5. 访问代理