【发布时间】:2021-06-16 17:59:20
【问题描述】:
我将在这里非常具体,希望了解这一点的人可以编辑以改写为一般情况。
当前,当您运行“节点调试”时,它会生成一个进程来侦听端口 5858。然后在父级中,尝试连接到该端口。
但是,如果您正在运行另一个“节点调试”会话,则当前“节点调试”会挂起,因为该端口正在使用中。
具体你看到的消息是:
$ node debug example/gcd.js 3 5
< debugger listening on port 5858 >
connecting...
最好让它检测到端口正在使用中(没有连接到它可能会弄乱另一个尝试连接现有调试器的客户端)。
编辑:接受的解决方案现在位于trepan-ni 和trepanjs。
另见Node JS - How Can You Tell If A Socket Is Already Open With The Einaros WS Socket Module?
【问题讨论】:
-
您可以尝试在端口上侦听,看看是否收到
EADDRINUSE错误返回。 -
@robertklep 虽然这是正确的想法,但我一直在寻找具体的代码。