首页 > 其他 > 详细

15.《Electron 跨平台开发实战》- chapter15 发布和更新应用

时间:2020-06-24 22:03:14      阅读:84      评论:0      收藏:0      [点我收藏+]

收集崩溃报告

Electron 内置了崩溃报告功能

设置崩溃报告

Electron在底层使用以下两个崩溃报告系统;

  • macOS系统使用 Crashpad,需要同时在主进程和渲染进程中启动
  • Windows和Linux使用Breakpad,只需要在主进程中启动

创建配置和启动崩溃的代码文件

./app/crash-reporter.js


const { crashReporter } = require(‘electron‘);

const host = ‘http://localhost:3000/‘; //将崩溃报告通过HTTP POST请求发送到这个URL
const config = {
    productName: "Fire Sale",
    companyName: ‘Electron In Action‘,
    submitURL: host + ‘crashreports‘,
    uploadToServer: true //表示希望将崩溃报告发送到服务器
};

crashReporter.start(config);
console.log(‘[INFO] Crash reporting started.‘, crashReporter);

module.exports = crashReporter

引发异常

打开开发者工具,在命令行输入如下命令,人工触发一次崩溃

process.crash()

技术分享图片

终端显示

[0624/215033.487:ERROR:http_transport_win.cc(276)] WinHttpSendRequest: 操作成功完成。 (0x0)

是因为我们还没有写崩溃报告服务器来接收请求。

,无法

报告未捕获异常

  • ./app/crash-reporter.js
const manifest = require(‘../package.json‘);
...

//报告未捕获异常函数
const sendUncaughtException = error => {
    const { productName, companyName } = config;
    console.info(‘Catching error‘, error);
    request.post(host + ‘uncaughtexceptions‘, { //向崩溃服务器发送HTTP POST请求
      form: {
        _productName: productName,
        _companyName: companyName,
        _version: manifest.version,
        platform: process.platform,
        process_type: process.type,
        ver: process.versions.electron,
        error: {          //发送的错误相关信息
          name: error.name,
          message: error.message,
          fileName: error.fileName,
          stack: error.stack,
          lineNumber: error.lineNumber,
          columnNumber: error.columnNumber,
        },
      },
    });
  };
  
  if (process.type === ‘browser‘) {   //检测代码当前运行在主进程还是渲染进程中
    //在主进程中,监听Node的‘uncaughtException’事件
    process.on(‘uncaughtException‘, sendUncaughtException);
  } else {
    //在渲染进程中,向全局对象添加监听事件
    window.addEventListener(‘error‘, sendUncaughtException);
  }

15.《Electron 跨平台开发实战》- chapter15 发布和更新应用

原文:https://www.cnblogs.com/easy5weikai/p/13189784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!