最近使用electron开发了一套软件,记录一下遇到的调试问题
所需工具
vscode 官网链接;
-
electron,本次所使用的版本为:
Electron: 1.7.9
Node: 7.9.0
Chromium: 58.0.3029.110
V8: 5.8.283.38
本次直接使用的 electron-quick-start git链接
nodejs 官网链接;
配置方式
我们使用的 electron-quick-start,项目初始配置已经完成。
修改 package.json 文件中
"scripts": {
//debug 表示项目需挂载调试程序
//brk 表示项目在启动后,运行第一行代码自动暂停
//5858 表示调试监听端口,若被占用,可自行更改
"start": "electron . --debug-brk=5858"
}
修改launch.json文件,该文件属于vscode所使用调试配置文件
{
"name": "Launch",
"type": "node",
"request": "launch",
//程序启动文件,默认为 "${workspaceRoot}/main.js"
"program": "${workspaceRoot}/dist/main.js",
"stopOnEntry": false,
"args": [],
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
"runtimeArgs": [
".",
"--enable-logging"
],
"env": {},
//该属性为配置typescript调试,若不需要则设置为false
"sourceMaps": true
}
启动调试
打开调试界面
下拉左上角调试列表
选择Launch,若在上一步设置为其他名称,则此时亦跟随修改
调试时所遇到问题
electron 中仅支持主进程调试。即:您需要将逻辑代码放置于 main.js 中调用,才可使用断点等功能,且此时不支持 console 打印输出功能。
渲染进程,包括初始的 BrowserWindow ,无法通过断点调试nodejs代码,仅可以通过窗体自带的开发工具(Ctrl + Shift + I)调试代码。即:使用 require 引入的文件仅支持 console 打印输出至输出窗口,正常web逻辑代码,可以使用断点等进行调试。
建议node端代码在主进程中运行调试,确定无误后再引入渲染进程中,减少调试工作难度。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。