如何调试Electron.js文件中编写的脚本
Electron 启动流程脚本调试方案
主进程内置调试
- 直接给Electron启动命令加调试参数,执行
electron . --inspect=5858(端口可自定义),启动后打开Chrome浏览器访问chrome://inspect,找到对应Electron进程点击inspect即可进入调试界面,可在创建目录、启动子进程的逻辑节点添加断点,逐行查看参数、返回值和报错信息。 - 如果使用VS Code开发,可在项目
.vscode/launch.json中添加如下配置,直接F5即可在编辑器内断点调试:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "调试Electron主进程", "cwd": "${workspaceFolder}", "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron", "args": ["."], "outputCapture": "std" } ] }
子进程异常排查
你的启动流程涉及mongod、Spring Boot jar包两个外部子进程,90%以上的流程异常都出在子进程启动环节,按如下方式排查:
- 所有文件操作(比如创建目录)都添加错误捕获,异步逻辑用try/catch包裹或者加catch回调,把错误信息打印到控制台。
- 调用
child_process启动子进程时,监听stdout、stderr、error、close四个事件,全量打印子进程的所有输出和退出状态,示例代码如下:
const { spawn } = require('child_process') // 启动mongod示例 const mongodProcess = spawn('你的mongod.exe绝对路径', ['--dbpath', '你的数据存储目录']) mongodProcess.stdout.on('data', data => console.log(`mongod输出: ${data.toString()}`)) mongodProcess.stderr.on('data', data => console.error(`mongod错误: ${data.toString()}`)) mongodProcess.on('error', err => console.error(`启动mongod失败: ${err.message}`)) mongodProcess.on('close', code => console.log(`mongod进程退出,退出码: ${code}`))
启动jar包的子进程也添加同样的监听逻辑,就能快速定位是端口占用、路径非法、权限不足还是依赖缺失导致的启动失败。
日志持久化
如果程序启动过快控制台信息来不及查看,可以将所有日志重定向写入本地文件,写入路径可通过app.getPath('userData')获取,程序崩溃后也可回溯完整日志。
内容的提问来源于stack exchange,提问作者Ram
相关产品推荐
相关产品推荐

