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

Electron 电子在没有任何信息的情况下死亡,现在怎么办?,electron,electron-builder,Electron,Electron Builder,我正在构建的应用程序,当我用electron builder将其编译为分发包时,时不时会死掉,显示一个空白屏幕和一个断开连接的开发工具: 知道发生了什么或者如何开始了解这里发生了什么吗?倾听uncaughtException事件并记录您收到的任何错误。这将让你洞察正在发生的事情。然后在必要时执行任何清理,并在需要时重新启动应用程序。这允许你的应用程序从崩溃中“恢复”,如果它打算长期运行的话 //处理崩溃和终止事件 process.on('uncaughtException',函数(err){

我正在构建的应用程序,当我用electron builder将其编译为分发包时,时不时会死掉,显示一个空白屏幕和一个断开连接的开发工具:


知道发生了什么或者如何开始了解这里发生了什么吗?

倾听
uncaughtException
事件并记录您收到的任何错误。这将让你洞察正在发生的事情。然后在必要时执行任何清理,并在需要时重新启动应用程序。这允许你的应用程序从崩溃中“恢复”,如果它打算长期运行的话

//处理崩溃和终止事件
process.on('uncaughtException',函数(err){
//记录消息和堆栈跟踪
fs.writeFileSync('crash.log',err+“\n”+err.stack);
//进行任何清理,如关闭服务器等
//重新启动应用程序(如果需要)
应用程序重新启动({args:[]});
应用程序退出(0);
});
您还可以收听
SIGTERM
事件,查看您的应用程序是否被关闭,还可以正常关闭服务器、重新启动等

process.on('SIGTERM',function(){
fs.writeFileSync('shutdown.log',“接收到SIGTERM信号”);
//进行任何清理,如关闭服务器等
//重新启动应用程序(如果需要)
应用程序重新启动({args:[]});
应用程序退出(0);
});

这可能是由渲染器进程中的几个不同严重故障(例如内存不足)造成的。要解决这个问题,你真的必须着手解决这个错误

有关更多详细信息,请参阅。具体来说,我建议在启动ELECTRON进程之前将
ELECTRON\u ENABLE\u LOGGING
环境变量设置为true,这将导致在启动主进程的控制台(而不是chrome devtools控制台)中显示错误