node.js - 配置 Electron/Node 以在调试中运行并附加调试器

标签 node.js electron webstorm

我是一名 Java 开发人员,但我必须尝试调试在 Electron 内运行的基于 Node 的应用程序。我使用 IntelliJ IDEA 进行 Java 开发/调试,并使用 WebStorm 来调试 JS 应用程序。

作为一名 Java 开发人员,我习惯于在 Debug模式下启动 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 .",

应用程序启动,即出现选举窗口,但在完全呈现之前终止。我无法确定它在启动之前会发展到什么程度才会失败。

更新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 .",

但仍然得到连接被拒绝

最佳答案

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

请参阅https://blog.jetbrains.com/webstorm/2016/05/getting-started-with-electron-in-webstorm/了解更多信息

关于node.js - 配置 Electron/Node 以在调试中运行并附加调试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49537937/

相关文章:

node.js - 如何在 Node 实例之间切换连接的套接字?

javascript - Electron的WebView.loadURL触发重新加载

git - 如何在 merge 操作中恢复某个特定文件的 'Resolve Conflict'?

javascript - 使用名称 "in"的 Socket.io 使 Webstorm IDE 引发错误

javascript - root id 中没有呈现任何内容

node.js - 使用命令提示符启动 ionic 时无法验证第一个证书

node.js - 错误 : 14 UNAVAILABLE: No connection established - Cloud Firestore

javascript - Angular 8 - 在错误时处理 SSE 重新连接

javascript - 如何在 nightmare.js 中运行多个评估方法?

webstorm - 更改 webstorm 中 JSX 的 block 注释