Browse Source

docs: document process.crashReporter apis in node children (#25579)

Jeremy Rose 4 years ago
parent
commit
3ceaf4aa54
1 changed files with 31 additions and 0 deletions
  1. 31 0
      docs/api/crash-reporter.md

+ 31 - 0
docs/api/crash-reporter.md

@@ -39,6 +39,37 @@ is an implementation detail driven by Chromium, and it may change in future. In
 particular, crashpad is newer and will likely eventually replace breakpad on
 all platforms.
 
+### Note about Node child processes on Linux
+
+If you are using the Node.js `child_process` module and want to report crashes
+from those processes on Linux, there is an extra step you will need to take to
+properly initialize the crash reporter in the child process. This is not
+necessary on Mac or Windows, as those platforms use Crashpad, which
+automatically monitors child processes.
+
+Since `require('electron')` is not available in Node child processes, the
+following APIs are available on the `process` object in Node child processes.
+Note that, on Linux, each Node child process has its own separate instance of
+the breakpad crash reporter. This is dissimilar to renderer child processes,
+which have a "stub" breakpad reporter which returns information to the main
+process for reporting.
+
+#### `process.crashReporter.start(options)`
+
+See [`crashReporter.start()`](#crashreporterstartoptions).
+
+#### `process.crashReporter.getParameters()`
+
+See [`crashReporter.getParameters()`](#crashreportergetparameters).
+
+#### `process.crashReporter.addExtraParameter(key, value)`
+
+See [`crashReporter.addExtraParameter(key, value)`](#crashreporteraddextraparameterkey-value).
+
+#### `process.crashReporter.removeExtraParameter(key)`
+
+See [`crashReporter.removeExtraParameter(key)`](#crashreporterremoveextraparameterkey).
+
 ## Methods
 
 The `crashReporter` module has the following methods: