使用intellij

时间:2016-04-04 14:04:34

标签: node.js debugging remote-debugging intellij-14 node-cluster

看到很多关于远程Node js服务器调试的帖子,并尝试了很多他们的解决方案,但没有设法让我的配置工作

我在Windows PC上安装了Intellij 使用以下" Node.js远程调试"组态: 主持人:my-server.dev.com 端口:5858

节点服务器本身安装在UBUNTU上,并在其上定义了以下端口转发规则: socat TCP-LISTEN:5858,fork TCP:localhost:6000

并使用以下命令运行服务器(cluster: /usr/local/n/versions/node/0.10.44/bin/node --debug = 6000 /opt/play/play-server/main.js)

Intellij将会话显示为已连接但无法在断点处中断

1 个答案:

答案 0 :(得分:2)

已经采取了几个步骤来解决这个问题: 1.启动脚本执行器使用:" n使用0.10.44 --debug"
   //(这是我的剧本)

forever \
      --pidFile $PIDFILE \
      -a \
      -l $LOGFILE \
      --minUptime $MIN_UPTIME \
      --spinSleepTime $SPIN_SLEEP_TIME \
      start -c "n use 0.10.44 --debug" $APPLICATION_PATH 2>&1 > /dev/null &
    RETVAL=$?
  1. 在远程群集上创建转发规则(此处为端口6000) socat TCP-LISTEN:5858,fork TCP:localhost:6000
  2. 在fork之前的节点服务器中
  3. var debug = process.execArgv.indexOf(' - debug')!== -1;     if(debug){         //设置一个未使用的端口号。         process.execArgv.push(' - debug =' +(6000));     }     var childProcess = cluster.fork();

  4. 这允许我使用我在问题中设置的相同intellij配置来调试其中一个集群进程