我正在尝试使用Express 4应用程序运行node-inspector - 我在Vagrant框中运行它但是能够在浏览器中查看页面而没有任何问题(我在流浪汉机器上有端口)可用于主机)。
我使用npm start
或node --debug bin/www
启动应用程序,然后启动节点调试程序bin/www
。我在浏览器中加载了检查器并且它在第一行上遇到了初始断点,但是在页面上执行任何操作以调试会触发断点导致EADDRINUSE
(也就是端口正在使用中)错误。关于可能导致这种情况的原因,我有点困惑,但是,我很可能使用可以在Express 3而不是4上运行的命令。另外,也许有一些配置我缺少在运行调试器上主机的浏览器,但在流浪盒上运行检查员?
答案 0 :(得分:24)
更新:我很确定这是您的问题:
node --debug bin / www然后启动node-debugger bin / www。
不要那些 BOTH 。这是一个或另一个。他们是做同样事情的两种方式。我更喜欢前一种方式,因为它更简单,无论您是否使用节点检查器,它都可以与节点本身一起使用。
总结:
node-debug bin/www
启动调试模式下的应用和同一过程中的node-inspector node --debug bin/www
以调试模式启动您的应用。这应该与单独的终端窗口结合使用,您可以将node-inspector
作为单独的进程运行。我推荐这种方法,但要么应该有效。这是我的建议,开始对此进行故障排除。尝试使用最简单的命令形式来运行一切:
node --debug ./bin/www
直接在前台启动您的应用
sudo netstat -ntlp
以查看它是什么进程,理解它是什么以及它运行的原因,然后将其删除以释放端口kill <pid-you-got-from-netstat>
node-inspector
。确保看到正常输出并且没有错误。http://localhost:8080/debug?port=5858
(除非你的流浪的IP /端口不同)EADDRINUSE
错误的详细信息,请参阅。这是你的应用程序本身的例外吗?如果是这样,您的快速应用程序的陈旧实例是否已经在您的流浪主机中的其他位置运行,从而绑定在您的应用程序的Web服务器端口上?答案 1 :(得分:0)
同样的过程适用于主管。