节点检查器无法打开套接字
Node-Inspector Failed to open socket
我按照这里的指示操作:https://github.com/node-inspector/node-inspector
很简单。 npm install node-inspector
。在一个 shell 运行 node-inspector
和另一个 运行 node --debug app.js
中。 Shell 为调试器吐出一个带有特定端口的本地主机地址。在浏览器中打开该地址——它会加载您的代码。从那里添加断点、调试网络等。
但这不起作用。
以下消息无休止地登录我的 shell:
Failed to open socket on port 5858, waiting 1000 ms before retrying
..没有连接。
所以我的问题是有没有人遇到过这个问题并成功找到了解决方案。很想让这个工作,会非常有用。我在服务器端调试器方面的唯一经验是 Ruby 的 Byebug
,这是小菜一碟。
打印您看到的消息是因为有另一个进程在侦听端口 5858。要么是不同的应用程序,要么只是调试器下节点进程的另一个实例。
基于此答案下方评论的更新
如果您的应用程序通过 Node.js 核心模块 "cluster" 在集群模式下 运行,那么您最终会遇到多个工作进程,每个工作进程都在尝试监听在端口 5858 上。
Node Inspector 无法同时调试多个工作进程。您必须选择一个进程并仅在该进程中启用调试器。当您通过 node --debug
启动应用程序时,所有进程都会尝试启用调试器,因此您无法使用此命令。
相反,您必须:
- 在不启用调试器的情况下启动您的应用程序。
- 然后您需要找到您要调试的工作进程的 pid(进程 ID)。
- 获得 PID 后,需要在目标进程中启用调试器。您可以在 UNIX 上使用 运行
kill -1 <pid>
,或者使用适用于所有平台的 node debug -p <pid>
。在继续之前不要忘记退出 node debug
。
- 一旦目标进程在 5858 上侦听调试器,您就可以按照通常的方式启动 Node Inspector。
我的回答基于以下博客post:https://strongloop.com/strongblog/whats-new-nodejs-v0-12-debugging-clusters/,查看更多详细信息。
我按照这里的指示操作:https://github.com/node-inspector/node-inspector
很简单。 npm install node-inspector
。在一个 shell 运行 node-inspector
和另一个 运行 node --debug app.js
中。 Shell 为调试器吐出一个带有特定端口的本地主机地址。在浏览器中打开该地址——它会加载您的代码。从那里添加断点、调试网络等。
但这不起作用。 以下消息无休止地登录我的 shell:
Failed to open socket on port 5858, waiting 1000 ms before retrying
..没有连接。
所以我的问题是有没有人遇到过这个问题并成功找到了解决方案。很想让这个工作,会非常有用。我在服务器端调试器方面的唯一经验是 Ruby 的 Byebug
,这是小菜一碟。
打印您看到的消息是因为有另一个进程在侦听端口 5858。要么是不同的应用程序,要么只是调试器下节点进程的另一个实例。
基于此答案下方评论的更新
如果您的应用程序通过 Node.js 核心模块 "cluster" 在集群模式下 运行,那么您最终会遇到多个工作进程,每个工作进程都在尝试监听在端口 5858 上。
Node Inspector 无法同时调试多个工作进程。您必须选择一个进程并仅在该进程中启用调试器。当您通过 node --debug
启动应用程序时,所有进程都会尝试启用调试器,因此您无法使用此命令。
相反,您必须:
- 在不启用调试器的情况下启动您的应用程序。
- 然后您需要找到您要调试的工作进程的 pid(进程 ID)。
- 获得 PID 后,需要在目标进程中启用调试器。您可以在 UNIX 上使用 运行
kill -1 <pid>
,或者使用适用于所有平台的node debug -p <pid>
。在继续之前不要忘记退出node debug
。 - 一旦目标进程在 5858 上侦听调试器,您就可以按照通常的方式启动 Node Inspector。
我的回答基于以下博客post:https://strongloop.com/strongblog/whats-new-nodejs-v0-12-debugging-clusters/,查看更多详细信息。