当前位置: 首页 > 知识库问答 >
问题:

如何使用 PhpStorm / 网络Storm连接到远程节点 js 调试会话?

奚无尘
2023-03-14

似乎有一个类似的问题,关于检查的前身,我想使用检查

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

我通过以下方式进入容器

docker exec -it my_container bash

我调用我的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

链接的帮助对我没有帮助,因为它假设我要使用<code>检查</code>进行本地运行:

JetBrains WebStorm 2017.1和其他JetBrains IDEs创建了一个新的Node.js调试配置并点击debug。- inspect将默认用于Node.js 7。若要禁用,请在IDE注册表中取消选中js.debugger.node.use.inspect。

我想从我的主机WebStorm附加到docker容器中的run。

因此,当我运行脚本时,它永远不会到达任何断点。

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

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

我尝试挖掘文档,但我不确定如何遵循指南。

我已经在docker-compose.yml中向我的本地机器公开了默认调试端口< code>9229:

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

我不知道如何在 WebStorm 中侦听节点 js 调试器。

共有2个答案

端木夕
2023-03-14

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

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

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

它将显示在:

chrome://inspect/#devices

您可以通过脚本单击“检查和调试”。

-检查brk将在第一行中断,我必须使用ip0.0.0.0让开发工具来获取它。

田信然
2023-03-14

您必须使用node--opricy-brk=0.0.0.0:9229启动您的应用程序0.0.0.0是必需的,因为Node.js默认情况下仅绑定到localhost),然后使用附加到Node.js/Chrome运行配置来附加调试器。端口应设置为9229

 类似资料:
  • 断点调试是编程的一大利器,为我们的调试工作带来很多遍历。本文我就讲讲如何用phpstrom配置php的断点调试。 安装xdebug 在配置断点调试之前,你必须先安装xdebug,先去官网下载源码,然后编译安装就好了。(windows用户请直接下载编译好的二进制包) wget https://xdebug.org/files/xdebug-2.5.0.tgz tar xvpzf xdebug-2.5

  • 问题内容: 我当前的设置是我有一个seleniumRC作为Windows计算机上的集线器运行(假设计算机名称为machine.name.com)。我已经使用以下命令启动它 我有一个selenium节点运行在注册到上述节点的同一台计算机上。我已经使用以下命令来启动节点 该节点已成功注册,我也可以对该节点进行测试。 现在,我有另一台机器(一台LINUX机器- 假设此机器的IP地址为10.123.123

  • 问题内容: 由于某种原因,我似乎无法连接到网络之外的任何SQL Server,但是如果我通过VPN在网络内,则没有问题。我的代码对于本地连接是这样的: 以下是我正在尝试的远程操作: 尝试连接时,大约15秒左右后,我抛出以下错误: pyodbc.Error:(‘08001’,’[08001] [unixODBC] [FreeTDS] [SQL Server]无法连接到数据源(0)(SQLDriver

  • 我是AWS云前线和AWS的新手。我有一个Next.js(反应SSR框架)网站,我部署到AWS使用(https://github.com/serverless-nextjs/serverless-next.js)。然而,我也需要一些缓存的Web应用程序。我决定使用来自AWS的redis ElastiCache。我在AWS控制台上创建了一个redis弹性缓存集群。 我的尝试: 我设置了连接redis

  • 问题内容: 是否可以从本地Mac在托管在云中的Docker集群上执行命令?如果是,怎么办? 我想在本地从docker swarm上执行以下命令: 问题答案: 问题的答案可以在这里找到。 对于ubuntu机器需要做的是在路径中定义daemon.json文件,其内容如下: 上面的配置不安全,如果服务器是公共托管的,则不应使用。 对于安全连接,请使用以下配置: 如@BMitch所述,可以在此处找到生成证

  • 我正在做一个android studio项目,我试图调试我的应用程序。 运行应用程序工作正常,但是当我试图调试它时,我得到了这个错误: < code >无法连接到远程进程。中止调试会话。 我该怎么做才能解决问题?