【问题标题】:How to connect to a remote nodejs debug session using PhpStorm / WebStorm?如何使用 PhpStorm / WebStorm 连接到远程 nodejs 调试会话?
【发布时间】:2019-07-25 16:56:31
【问题描述】:

似乎有一个similar question,因为它是inspect 的前身,我想使用inspect

我创建了一个基本的 docker-compose 堆栈,从中运行我的 nodejs 应用程序。我想监听调试器会话并在本地 WebStorm 中调试我的 JavaScript 代码。

我通过

进入容器
docker exec -it my_container bash

我通过inspect 运行调试器调用我的nodejs 脚本:

node --inspect ./cli.js start mytask
Debugger listening on ws://127.0.0.1:9229/81006264-163c-40d7-bd75-64c5e4fca618
For help see https://nodejs.org/en/docs/inspector

链接的帮助对我没有帮助,因为它假定我想使用 inspect 进行本地运行:

JetBrains WebStorm 2017.1+ 和其他 JetBrains IDE 创建一个新的 Node.js 调试配置并点击调试。 --inspect 将由 Node.js 7+ 的默认设置。禁用取消选中 IDE 注册表中的 js.debugger.node.use.inspect。

我想从我的主机 WebStorm 附加到 docker 容器内的运行。

所以当我运行脚本时,它只是完成了,不会遇到任何断点。

我想我必须听调试器,但我不知道怎么做。

我希望我的本地 WebStorm 连接到 nodejs 调试器。我希望能够在 WebStorm 中进行调试,就好像我已经通过 WebStorm 本身运行了 nodejs 脚本一样。

我尝试深入了解docs,但我不确定如何遵循指南。

我已在 docker-compose.yml 中将默认调试端口 9229 暴露给本地机器:

version: "3"
services:
    my_container:
        build: .
        command: "bash"
        hostname: my_container
        tty: true
        environment:
            TERM: xterm
        ports:
            - "9229:9229"

我不知道如何在 WebStorm 中监听 nodejs 调试器。

【问题讨论】:

    标签: node.js docker docker-compose webstorm remote-debugging


    【解决方案1】:

    您必须使用node --inspect-brk=0.0.0.0:9229 启动您的应用程序(0.0.0.0 是必需的,因为 Node.js 默认只绑定到本地主机),然后使用Attach to Node.js/Chrome 运行配置来附加调试器。 端口应设置为9229

    【讨论】:

      【解决方案2】:

      这是一种解决方法,因为我仍然非常想使用 WebStorm 的调试器,这就是为什么这不是我的解决方案,但至少提供了一种调试方法:

      对于chrome的开发工具,可以使用:

      node --inspect-brk=0.0.0.0:9229 ./cli.js start mytask
      

      它将显示在:

      chrome://inspect/#devices
      

      您可以通过脚本点击检查和调试。

      --inspect-brk 将在第一行中断,我必须使用 ip 0.0.0.0 让开发工具来获取它。

      【讨论】:

        猜你喜欢
        • 2014-03-05
        • 1970-01-01
        • 2012-01-16
        • 1970-01-01
        • 1970-01-01
        • 2014-12-03
        • 2014-01-16
        • 2013-03-05
        • 2015-07-04
        相关资源
        最近更新 更多