我有多个Node API服务器,我想同时调试(断点等等)。每个服务器都作为兄弟姐妹存在于不同的目录中,并且我在不同的窗口中打开每个目录。我可以将调试器附加到一个服务器(称之为AAA),但是当我尝试连接到第二个服务器(称为BBB)时,我收到以下错误:
Error: listen EADDRINUSE 127.0.0.1:5858
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at Agent.setupListenHandle [as _listen2] (net.js:1263:14)
at listenInCluster (net.js:1304:12)
at doListen (net.js:1428:7)
at _combinedTickCallback (internal/process/next_tick.js:83:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
有没有办法一次调试多个进程?我尝试编辑.vscode/launch.json
来更改调试器应该附加的端口,但这似乎不起作用。调试器看起来好像找不到东西而且只是超时。
答案 0 :(得分:0)
诀窍是使用--debug-brk=5959
运行一台服务器(默认为5858
),然后修改.vscode/launch.json
以将port
更改为5959
。启动两个服务器,在单独的代码窗口中打开两个代码库,并开始正常调试。
我遇到的第二个问题是将标志传递给Node。我的开始脚本指向rejoice -c manifest.json -p .
。 rejoice
不接受--debug-brk
或将其传递给Node,因此我添加了一个调试脚本:node --debug-brk=5959 node_modules/.bin/rejoice -c manifest.js -p .
作为解决方法。