我有一个node.js应用程序,我想在Mac OS X上使用node-inspector进行调试 . 我使用此命令启动了调试器 .

$ node-debug app.js Node Inspector现在可以从http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858调试app.js调试器监听端口5858

但是,在我尝试调试/逐步执行Chrome中的代码后,此节点检查程序调试过程不久就会终止 . 错误消息如下:

events.js:85 throw er; //未处理的'错误'事件
^错误:听EADDRINUSE

at exports._errnoException(util.js:746:11)
在Server._listen2(net.js:1156:14)
在听(net.js:1182:10)
在Server.listen(net.js:1267:5)
at Object . <anonymous>(/Users/cbai/Dev/operational-insight/app.js:57:35)
在Module._compile(module.js:460:26)
在Object.Module._extensions..js(module.js:478:10)
在Module.load(module.js:355:32)
在Function.Module._load(module.js:310:12)
在Module.runMain [as _onTimeout](module.js:501:10)

它似乎与端口冲突有关,如“listen EADDRINUSE”所示 . 但是当我在启动调试器后列出使用端口8080和5858的所有进程时,只显示了节点进程 .

$ lsof -n -i4TCP:8080 | grep LISTEN节点72222 xxx 14u IPv4 0x2a579a5d0db63533 0t0 TCP 127.0.0.1:http-alt(LISTEN)$ lsof -n -i4TCP:5858 | grep LISTEN节点72223 xxx 19u IPv6 0x2a579a5cee696ef3 0t0 TCP *:5858(LISTEN)

当节点检查器调试器进程死亡/错误输出时,端口8080和5858是空闲的,并且上面的lsof命令不返回任何内容 . 不确定导致“EADDRINUSE”的原因 . 由于此错误,我无法调试 . 有人可以帮忙吗?谢谢 .