From c1d04d8e49063f4d5f0cb70f30dc8bffc100d38c Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 16 Sep 2020 07:58:48 -0600 Subject: [PATCH] chore: log hint on renderer crash (#25474) * chore: log hint on renderer crash * Address feedback from review Co-authored-by: Shelley Vohr --- lib/browser/api/web-contents.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/browser/api/web-contents.ts b/lib/browser/api/web-contents.ts index f4c30bfc7ac42..c9986ea5f96b4 100644 --- a/lib/browser/api/web-contents.ts +++ b/lib/browser/api/web-contents.ts @@ -461,6 +461,11 @@ const addReturnValueToEvent = (event: any) => { }); }; +const loggingEnabled = () => { + return Object.prototype.hasOwnProperty.call(process.env, 'ELECTRON_ENABLE_LOGGING') || + process.argv.some(arg => arg.toLowerCase().startsWith('--enable-logging')); +}; + // Add JavaScript wrappers for WebContents class. WebContents.prototype._init = function () { // The navigation controller. @@ -543,6 +548,11 @@ WebContents.prototype._init = function () { this.on('crashed', (event, ...args) => { app.emit('renderer-process-crashed', event, this, ...args); + + // Log out a hint to help users better debug renderer crashes. + if (loggingEnabled()) { + console.info('Renderer process crashed - see https://www.electronjs.org/docs/tutorial/application-debugging for potential debugging information.'); + } }); this.on('render-process-gone', (event, ...args) => {