如果在进程启动后附加,Chrome 不会检测调试器

问题描述

当我使用 --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 标志

之前,请确保您正在谈论的日志是最新的,并且是过去运行中的一些垃圾

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...