问题描述
当我使用 --inspect
选项启动 Express 服务器时,我可以导航到 chrome://inspect/#devices 并为适当的远程目标启动调试控制台。但是,当我在没有 --inspect
选项的情况下启动进程,然后尝试使用 kill -10 $PID
启动检查器时,即使服务器指示调试器已启动,Chrome 也不会检测到远程目标。我可以通过 Chrome 或其他方式连接到此进程吗?
这是运行kill -10 $PID
后服务器的输出:
Attaching to nodejs
nodejs | Running version 3 on http://0.0.0.0:5000
nodejs | Debugger listening on ws://127.0.0.1:9229/c948d085-0491-4cd9-9832-a0f0cf120e11
nodejs | For help,see: https://nodejs.org/en/docs/inspector
另一个注意事项:我在具有 Docker 桥接网络的容器中运行此应用程序,但我不明白为什么这会有所作为,因为 --inspect
选项注册相同当我用它启动服务器时输出。
版本: Docker 版本 19.03.13,构建 4484c46d9d 节点 v12.22.1 express@4.17.1
附加说明:此处描述了我所描述的过程(在服务器启动后启动调试会话):nodejs.org/en/docs/guides/debugging-getting-started
解决方法
但是,当我在没有 --inspect 选项的情况下启动进程时,Chrome 没有检测到远程目标
如果您在没有 --inspect
的情况下启动了一个进程,预计您将无法调试您的代码。在删除 --inspect
标志