【发布时间】: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 时有效,但因错误“连接被拒绝”而终止。
我还使用this 和this 尝试附加调试器,但无济于事。我还必须在 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 文件dev 和start 行修改为:
"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 添加了一些附加信息。我将尝试您提到的其他选项。我在文档中的任何地方都没有看到远程调试端口选项。