小鱼塘--自说自话的地方

  • 小玩意
  • 小想法
记录自己技术和想法地方
  1. 首页
  2. nodejs
  3. electron
  4. 正文

electron 崩溃闪退处理

13 5 月, 2026 440点热度 0人点赞 0条评论
内容目录

背景

同事写electron软件,在特殊情况下会闪退,不是JS错误

思考

  1. 这种闪退崩溃,基本都是内存问题,基本都是调用系统API,不是简单的JS代码
  2. 鼠标切换程序特殊情况会崩溃,猜测是设置窗口有关系

解决方案

  1. 通过生成Dump 文件,看具体崩溃到哪个API
  2. 注释代码,对比排查

通过dump文件分析解决

  1. 在windbg 设置 electron pdb
  2. 在electron js 代码捕获程序异常推出,生成对应dump 文件
  3. 使用命令查看回调,大概就知道崩溃哪个API上
  4. 最后定义在获取窗口标题,给的内存大小太小了,当窗口标题超过255就崩溃了,同事直接抄AI代码,根本没有完全了解代码逻辑

资料

在调试器中设置 Symbol 服务器 | Electron

补充

上面网页资料设置是无法下载pdb,我最近发现electron 在windows 2022 上面会闪退,我开始想通过windbg调试,因为之前Pdb被我删除了,于是我按照上面的教程直接设置下载对应pdb地址,我发现是没有用,永远下载不下来,所以只能手动设置

手动下载pdb

  1. 打开electon github
  2. 找到你的自己用electron 的版本(node工程package.json 找到对应版本就可以)
  3. https://github.com/electron/electron/releases/ 一页 一页翻
  4. 快速的方法 https://github.com/electron/electron/releases/tag/v38.2.2 v38.2.2 这个我是测试版本号,你可以换成你自己的版本,如果对的上就可以直接打开了
  5. 下载 electron-v38.2.2-win32-x64-pdb.zip (这个是我的版本),这个大小1个G,不要下载小的,这个是windows的对应的版本
  6. 剩下就是windbg 设置了

总结

  1. 开始直接windbg 分析,没有加载pdb导致定义不到对应的API,看不出来有什么问题,所以一定要下载PDB
  2. electron崩溃基本都是内存,因为JS很难导致崩溃,只有内存问题才容易出现
标签: 暂无
最后更新:4 8 月, 2026

小鱼儿

爱研究技术,爱玩LOL

点赞
< 上一篇

COPYRIGHT © 2022 小鱼塘. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

湘ICP备18005349号