From f8b738e6c23d2cd30184c31d847b75608dfc2f6c Mon Sep 17 00:00:00 2001 From: Ramya Achutha Rao Date: Wed, 23 Nov 2016 15:36:03 -0800 Subject: [PATCH] Clarifying crash reporter behviour in Mac --- docs/api/crash-reporter.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/api/crash-reporter.md b/docs/api/crash-reporter.md index cec860ad61f5..9925f76b4ea8 100644 --- a/docs/api/crash-reporter.md +++ b/docs/api/crash-reporter.md @@ -47,14 +47,20 @@ The `crashReporter` module has the following methods: report. Only string properties are sent correctly, Nested objects are not supported. -You are required to call this method before using other `crashReporter` -APIs. +You are required to call this method before using other `crashReporter` APIs +and in each process (main/renderer) from which you want to collect crash reports. +You can pass different options to `crashReporter.start` while calling from different processes. -**Note:** On macOS, Electron uses a new `crashpad` client, which is different -from `breakpad` on Windows and Linux. To enable the crash collection feature, -you are required to call the `crashReporter.start` API to initialize `crashpad` -in the main process and in each renderer process from which you wish to collect -crash reports. +**Note:** On Windows and Linux, Electron uses `breakpad` for crash collection and reporting. +Crashes can be collected from the main and renderer process, but not from the child processes +created via `child_process` module. + +**Note:** On macOS, Electron uses a new `crashpad` client for crash collection and reporting. +Crashes can be collected from the main, renderer and any of the child processes created via the `child_process` module. +If you want to enable crash reporting, initializing `crashpad` from the main process using `crashReporter.start` is mandatory +regardless of which process you want to collect crashes from. Once initialized this way, the crashpad handler collects +crashes from all processes. You still have to call `crashReporter.start` from the renderer process, otherwise crashes from +renderer processes will get reported without `companyName`, `productName` or any of the `extra` information. ### `crashReporter.getLastCrashReport()`