vscode 如何断点调试 electron 程序?主进程 attach 调试
发布于 作者:苏南大叔 来源:程序如此灵动~对于vscode
调试electron
这件事来说,区别于9222
端口的渲染进程调试方式,这里存在着一个5858
端口的主进程调试方案。这个5858
端口方案的调试,是非常的与众不同,与以往的electron
的调试方案差别很大。本文,就着重说一下这个electron
的5858
主进程方案是如何使用的。
本文测试环境:mac
/electron3.0.7
/vscode1.30.1
配置.vscode/launch.json
.vscode/launch.json
文件配置如下:
其中的sourceMaps
建议设置为true
,可以用于调试es6
的代码。被注释掉的几条设置,貌似也没什么用,而且添加上总是有报错。
命令行启动electron
最正确的命令方式是:
./node_modules/.bin/electron --inspect-brk=5858 ./
会有如下提示信息:
Debugger listening on ws://127.0.0.1:5858/8885afaa-a26b-4a19-9ac0-693b0aec8d32
For help, see: https://nodejs.org/en/docs/inspector
其中关于--inspect-brk
,会有其他的表述。
- 比如:
--debug
、--debug-brk
。这两个是废弃的参数,新版的electron
早就不支持这2个参数了。 - 而
--inspect
和--inspect-brk
的区别就在于:--inspect-brk
是必须attach
后,f5
一下才进入调试的。--inspect
并不是。
vscode
执行attach
执行定义在.vscode/launch.json
中的attach
,进入调试模式。如果使用的是--inspect-brk
的话,需要先按一下f5
,才能继续。调试的时候,对于使用了es6
的代码,需要先babel
,然后生成sourceMap
,然后配置sourceMaps
为true
,才能正常调试。这个思路可以参见苏南大叔的前几篇文章。
注意:主动按f5
!
vscode
停止调试
常规的vscode
停止调试,在这个方案中是不起作用的。仅仅是停止了attach
而已,electron
程序自身还存在,需要在命令行里面使用ctrl+c
才能停止这个被调试的electron
程序。
总结
vscode
和electron
的故事,讲了这么多,基本上也算可以告一段落了。electron-vue
的调试,基本上也逃不出这个范围,关键点就这么几个:babel
,sourcemap
。其余的,采用那种调试方案,这个就是仁者见仁智者见智的事情了。
使用attach
方案的时候,根本不关心是不是es6
,是不是需要babel
,执行的是哪个文件。因为,那是另外开启的命令行所考虑的事情,在.vscode/launch.json
中是并不体现这些设置信息的。
更多electron
的经验文字,苏南大叔提示您:请点击下面的链接查看。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
试试看~
试试看
感谢博主分享
蛋疼的调试,试试看吧
大叔的文章真乃无穷无尽的宝藏
试试看
非常需要
666
试试看