2

リモートNode jsサーバーのデバッグに関する多くの投稿を見て、多くのソリューションを試しましたが、構成を機能させることができませんでした

次の「Node.js リモート デバッグ」構成で Intellij を Windows PC にインストールしました: Host:my-server.dev.com Port: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 はセッションを接続済みとして表示するが、ブレークポイントでブレークできない

4

1 に答える 1

2

この問題を解決するために、いくつかの手順が実行されました

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. フォークする直前のノードサーバーで:

    var debug = process.execArgv.indexOf('--debug') !== -1; if(debug) { //未使用のポート番号を設定。process.execArgv.push('--debug=' + (6000)); var childProcess = cluster.fork();

これにより、質問で設定したのと同じ intellij 構成を使用して、クラスター プロセスの 1 つだけをデバッグできます。

于 2016-04-04T14:05:21.933 に答える