Electron 主进程调试

晏明
• 阅读 4436

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 文件,如下图:
Electron 主进程调试

然后点击左上角的绿色三角形按钮:
Electron 主进程调试

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

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
虾米大王 虾米大王
2年前
java代码099
code099.jspInserttitlehere$pageScope.user.name
虾米大王 虾米大王
2年前
java代码073
code073.javapackagepack02;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.UUID;importjavax.servlet.ServletException;importjavax.servlet.annotation.Multip
Wesley13 Wesley13
3年前
VSCode配置FiraCode和更纱黑体字体
!(https://oscimg.oschina.net/oscnet/c7bb62d935ceb01d3b7fe176322e84ae00d.png)Fira Code下载到FiraCode字体的GitHub(https://www.oschina.net/action/GoToLink?urlhttps%
Stella981 Stella981
3年前
Python 使用VS Code进行调试
VSCode是一款非常好用的编辑器,现在我基本上所有的开发任务都在VSCode上完成。它的代码调试工具其实也非常强大,但是许多人都不知道该怎么用,今天就来学习怎么用它调试Python代码吧。1.准备既然是用VSCode调试Python代码,那当然你得先安装好Python啦,如果你还没有安装,可以看这篇文章:超详细Pyt
Wesley13 Wesley13
3年前
Visual studio 中调试ASP程序、Javascript 代码
PS:1、在调试asp时,要先附加进程(附加到:自动;与具体调试网站对应的dllhost.exe或w3wp.exe.net2.0托管的进程),再打开浏览器,最后都要刷新浏览器,才会跳到断点的!   (tips:如果首次配置asp附加进程时,可能没有出现与网站对应的w3wp.exe,那么可以先在浏览器中打开一次要调试的页面,等网站相对应
Stella981 Stella981
3年前
Linux自动检测网站心跳通知shell脚本
!/bin/bashLIST("http://xxxx.com")NAME("评价系统getwindowList接口")for((i0;i<${LIST@};i))doHTTP_CODEcurlo/dev/nullsw"%{http_code}""${LIST
Wesley13 Wesley13
3年前
Oracle:Pivot 转多列并包含多个名称
SELECTFROM(SELECTl.DISTRIBUTOR_ID,d.SKU_CODE,d.WH_CODE,d.ORDER_PACKAGES,d.PRICE,d.YEARLY||d.MONTHLYasYM,d
Wesley13 Wesley13
3年前
mysql _01
\where中不可以使用别名,因为where先于select执行以下是错误的SQL:select    code,   continentcont,   name,   populationpop from    country where    cont'asia'
Stella981 Stella981
3年前
PowerDesigner列名、注释内容互换
在用PowerDesigner时,常常在NAME或Comment中写中文在Code中写英文,Name只会显示给我们看,Code会使用在代码中,但Comment中的文字会保存到数据库TABLE的Description中,有时候我们写好了Name再写一次Comment很麻烦,以下两段代码就可以解决这个问题。在PowerDesigner中PowerDesig