看到很多关于远程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将会话显示为已连接但无法在断点处中断
答案 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=$?
:
var debug = process.execArgv.indexOf(' - debug')!== -1; if(debug){ //设置一个未使用的端口号。 process.execArgv.push(' - debug =' +(6000)); } var childProcess = cluster.fork();
这允许我使用我在问题中设置的相同intellij配置来调试其中一个集群进程