【问题标题】:Configure Electron/Node To Run In Debug And Attach a Debugger配置电子/节点以在调试中运行并附加调试器
【发布时间】:2018-09-07 08:11:27
【问题描述】:

我是一名 Java 开发人员,但我必须尝试调试在 Electron 中运行的基于节点的应用程序。我使用 IntelliJ IDEA 进行 Java 开发/调试,并拥有我想要调试 JS 应用程序的 WebStorm。

作为一名 Java 开发人员,我习惯于以调试模式启动 JVM/Tomcat/OSGi 容器,我可以将 IntelliJ 作为调试器附加到该容器。这允许我在 IntelliJ 中动态添加断点。我希望能够对 Electron 应用程序执行相同的操作,但我无法弄清楚如何执行此操作。

我尝试使用--inspect 选项开始选举,详细信息here 但无法将WebStorm 附加到它。我还尝试在 WebStorm 本身中设置运行时配置,该配置在启动 Electron 时有效,但因错误“连接被拒绝”而终止。

我还使用thisthis 尝试附加调试器,但无济于事。我还必须在 Windows 上工作,所以我不得不处理不足的工具来确定 Electron 是否正在侦听端口。

更新

我无法在此处放置完整的代码,但我会以以下方式启动应用程序:

npm run dev

这是应用程序根文件夹中的相关部分package.json,但未指定任何调试选项:

"dev": "concurrently --raw --kill-others \"npm run dev-server\" \"npm run start\"",
"dev-server": "webpack-dev-server --hot --inline",
"start": "cross-env WEBPACK_ENV=dev electron .",

应用程序启动,即 Election 窗口出现,但在完全呈现之前终止。我不能确定在失败之前它在启动时会走多远。

更新 2

我已将package.json 文件devstart 行修改为:

"dev": "concurrently --raw --kill-others \"npm run %NODE_DEBUG_OPTION% dev-server\" \"npm run %NODE_DEBUG_OPTION% start\"",
"start": "cross-env WEBPACK_ENV=dev electron --inspect=5858 --remote-debugging-port=9223 .",

但仍然得到Connection refused

【问题讨论】:

  • 你的起点有多远?此外,您还需要使用电子调试两个进程,主进程(电子本身)和渲染进程(浏览器实例)--remote-debugging-port=9223 将为渲染器添加远程调试顺便说一句,
  • “我还必须在 Windows 上工作,所以我不得不处理不足的工具来确定 Electron 是否正在侦听端口。” @ 有什么问题987654334@?
  • @HansKoch 添加了一些附加信息。我将尝试您提到的其他选项。我在文档中的任何地方都没有看到远程调试端口选项。

标签: node.js electron webstorm


【解决方案1】:

要调试 Electron 主进程,需要使用 Node.js 运行配置;对于渲染过程,需要 Attach to Node.js/Chrome 配置。

更多信息请查看https://blog.jetbrains.com/webstorm/2016/05/getting-started-with-electron-in-webstorm/

【讨论】:

  • 嗨莉娜,谢谢你的回答。按照您提供的链接后,我仍然无法将调试器附加到主进程或渲染进程。当附加到主应用程序只是在启动后终止,并且对于渲染过程它“似乎”附加但没有中断点被击中。我可能在这里很愚蠢,但尝试附加调试器不应该这么困难。 Node/NPM/electron 似乎让这太难了。
【解决方案2】:

我发现WebStorm如果用flag启动electron就可以正常调试主进程:

electron . --serve --inspect-brk=5893

注意“brk”,它会停止进程,直到附加调试器。

然后我刚刚创建了一个运行配置(附加到 Node.js/Chrome)并指定了 5893 端口,告诉自动重新连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-23
    • 2017-02-11
    • 2018-08-15
    • 2022-12-24
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多