Electron 浏览器窗口的开发工具 devtools 只能调试在该窗口中执行的 JavaScript(比如 web 页面)。要调试在主进程中执行的 JavaScript,我们需要使用外部调试器。Electron 提供了 --inspect--inspect-brk 开关来实现这一操作。

命令行开关

我们可以使用如下的命令行开关来调试 Electron 的主进程。

  • --inspect=[port] :当这个开关用于 Electron 时,它将会监听 V8 引擎中有关 port 的调试器协议信息,默认的 port 的值为5858。例如下面这个命令:
electron --inspect=5858 .src/main.js
  • --inspect-brk=[port]:和--inspector 一样,但是会在 JavaScript 脚本的第一行暂停运行。

主进程调试

在根目录下添加一个 .vscode/launch.json 文件并使用以下配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Main Process",
            "type": "node",
            "request": "launch",
            "cwd": "${workspaceRoot}",
            "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
            "windows": {
                "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
            },
            "args": ["."],
            "outputCapture": "std"
        }
    ]
}

然后在 VSCode 中找到如下所示图标,点击右上角的设置,会打开新建的 launch.json 文件,如下图:

然后点击左上角的绿色三角形按钮:

接着在 main.js 主进程中进行断点调试即可:


知否
221 声望177 粉丝

Skrike while the iron is hot.