电子在没有任何信息的情况下死亡,现在怎么办?

Posted

技术标签:

【中文标题】电子在没有任何信息的情况下死亡,现在怎么办?【英文标题】:Electron dying without any information, what now? 【发布时间】:2017-12-20 12:46:30 【问题描述】:

我正在构建的应用程序,当我编译它以使用电子构建器打包它时,时不时地死掉,显示一个空白屏幕和一个断开连接的开发工具:

任何想法发生了什么或如何开始弄清楚这里发生了什么?

【问题讨论】:

【参考方案1】:

侦听uncaughtException 事件并记录您收到的任何错误。这将使您深入了解正在发生的事情。然后在必要时执行任何清理,并在需要时重新启动应用程序。如果打算长时间运行,这允许您的应用从崩溃中“恢复”。

//handle crashes and kill events
process.on('uncaughtException', function(err) 
  //log the message and stack trace
  fs.writeFileSync('crash.log', err + "\n" + err.stack);

  //do any cleanup like shutting down servers, etc

  //relaunch the app (if you want)
  app.relaunch(args: []);
  app.exit(0);
);

您还可以监听SIGTERM 事件以查看您的应用程序是否被终止,也可以正常关闭服务器、重新启动等。

process.on('SIGTERM', function() 
  fs.writeFileSync('shutdown.log', "Received SIGTERM signal");

  //do any cleanup like shutting down servers, etc

  //relaunch the app (if you want)
  app.relaunch(args: []);
  app.exit(0);
);

【讨论】:

【参考方案2】:

这可能是由渲染器进程中的几个不同的严重故障(例如内存不足)引起的。要修复它,您必须亲自处理错误。

请参阅https://www.electronjs.org/docs/tutorial/application-debugging#v8-crashes 了解更多详情。具体来说,我建议在启动电子进程之前将 ELECTRON_ENABLE_LOGGING 环境变量设置为 true,这应该会导致错误显示在您启动主进程的控制台中(不是 chrome devtools控制台)。

【讨论】:

以上是关于电子在没有任何信息的情况下死亡,现在怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL删除表怎么恢复?

中核电子商城订单一直处于待发货状态怎么回事

Flink常见异常和错误信息小结

电子医保卡录屏怎么录

Flutter 如何在没有任何第三方库的情况下从 url 下载文件

我确实在所有视图中都没有返回横向,但我必须在横向模式下只显示一个电子表格视图怎么做?