Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 配置Electron/Node以在调试中运行并附加调试器_Node.js_Electron_Webstorm - Fatal编程技术网

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

Node.js 配置Electron/Node以在调试中运行并附加调试器,node.js,electron,webstorm,Node.js,Electron,Webstorm,我是一名Java开发人员,但我必须尝试调试运行在Electron内部的基于节点的应用程序。我使用IntelliJ IDEA进行Java开发/调试,并使用WebStorm调试JS应用程序 作为一名Java开发人员,我习惯于在调试模式下启动JVM/Tomcat/OSGi容器,我可以将IntelliJ作为调试器附加到该模式。这允许我动态添加断点,而无需修改IntelliJ中的代码。我想在电子应用程序中也能做到这一点,但我还没能想出如何做到这一点 我已尝试使用--inspect选项启动选举,但无法将We

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

作为一名Java开发人员,我习惯于在调试模式下启动JVM/Tomcat/OSGi容器,我可以将IntelliJ作为调试器附加到该模式。这允许我动态添加断点,而无需修改IntelliJ中的代码。我想在电子应用程序中也能做到这一点,但我还没能想出如何做到这一点

我已尝试使用
--inspect
选项启动选举,但无法将WebStorm附加到它。我还尝试在WebStorm本身中设置一个运行时配置,该配置在启动Electron时起作用,但终止时出现错误“connection Rejected”

我还使用和尝试附加调试器,但没有效果。我还必须在Windows上工作,所以我必须处理不充分的工具来确定Electron是否正在监听端口

更新

我无法在此处输入完整的代码,但我会以以下内容开始应用程序:

npm运行开发人员

这是应用程序根文件夹中的相关部分
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
文件
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 .",

但仍然得到
连接被拒绝

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


请参阅了解更多信息

我发现,如果electron使用以下标志启动,WebStorm可以正确调试主进程:

electron . --serve --inspect-brk=5893
注意“brk”,它会停止进程,直到附加了调试器


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

您从开始到现在有多远?还有两个进程需要使用electron进行调试主进程(electron本身)和渲染进程(浏览器实例)
--远程调试端口=9223
将为渲染器添加远程调试,“我还必须在Windows上工作,因此我必须处理不充分的工具来确定Electron是否正在监听端口。“netstat
netstat
有什么问题?”HansKoch补充了一些额外的信息。我将尝试您提到的其他选项。我在文档中没有看到远程调试端口选项。嗨,莉娜,谢谢你的回答。在遵循您提供的链接之后,我仍然无法将调试器附加到主进程或渲染进程。当连接到主应用程序时,应用程序在启动后刚刚终止,对于渲染过程,它“似乎”要连接,但不会命中断点。我在这里可能很愚蠢,但尝试附加调试器应该不会这么困难。Node/NPM/electron似乎使这一点变得太难了。