【问题标题】:Remote Debugging of node js server using intellij使用intellij远程调试节点js服务器
【发布时间】:2016-07-24 03:03:33
【问题描述】:

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

我在 Windows PC 上安装了 Intellij 使用以下“Node.js 远程调试”配置: 主机:my-server.dev.com 端口:5858

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

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

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

【问题讨论】:

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


    【解决方案1】:

    我们采取了几个步骤来解决这个问题: 1.启动要使用的脚本执行器:“n use 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 之前的节点服务器中:

      var debug = process.execArgv.indexOf('--debug') !== -1; 如果(调试){ //设置一个未使用的端口号。 process.execArgv.push('--debug=' + (6000)); } var childProcess = cluster.fork();

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

    【讨论】:

      猜你喜欢
      • 2019-08-06
      • 2019-04-11
      • 2023-03-14
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 2010-10-21
      • 1970-01-01
      • 2022-11-15
      相关资源
      最近更新 更多