我想使用Docker上运行的Intellij和node.js解释器开始调试node.js应用。在运行该应用程序时,当我尝试调试时出现错误:
运行“ index.js”时出错 com.github.dockerjava.api.exception.InternalServerErrorException: {“ message”:“驱动程序无法对外部连接进行编程 端点focused_poincare (a17137973880d1be7c6a74fc142184fdda31e0dec8ebd539b09d9dbe4cf70014): 启动用户态代理时出错:绑定0.0.0.0:55578失败:端口为 已经分配”}
根据documentation配置了远程解释器。我创建了一个新的Node.js运行/调试配置,并输入了以下数据: 。
调试失败的原因可能是什么?
我使用:
编辑:处理评论:
本地调试有效。我尝试运行的文件(index.js)仅包含console.log('Hello world!')
,因此我不会自行产生任何子进程。我的主机系统具有Windows 10 Pro作为操作系统,因此,为了检查主机系统上的开放端口,我使用了netstat -an | find "55578"
,但未返回任何内容。此外,如果我尝试使用docker run -it -p 55578:55578 node
从命令行手动运行docker,那么所有程序都会运行,并且不会给出错误。
此外,每次我尝试远程调试时,Intellij在错误消息中给出的端口号似乎都是随机的高端口号。我尝试在收到错误消息后立即寻找打开的端口,但没有找到一个打开的端口,该端口的打开由Intellij报告,并且确实出现在输出中:
我的运行/调试配置:
我的Docker配置(我必须在Docker配置中选中“在不带TLS的tcp:// localhost:2375上暴露守护程序”,以使Intellij和Docker一起玩):
编辑:当我在“运行/调试配置” Intellij窗口(按this bug report)中将“ --inspect-brk=0.0.0.0:55432
添加为“节点参数”时,容器nad程序启动,但是调试似乎是无操作的(例如程序不会在断点处停止。