| OLD | NEW |
| 1 # Linux Crash Dumping | 1 # Linux Crash Dumping |
| 2 | 2 |
| 3 Official builds of Chrome support crash dumping and reporting using the Google | 3 Official builds of Chrome support crash dumping and reporting using the Google |
| 4 crash servers. This is a guide to how this works. | 4 crash servers. This is a guide to how this works. |
| 5 | 5 |
| 6 [TOC] | 6 [TOC] |
| 7 | 7 |
| 8 ## Breakpad | 8 ## Breakpad |
| 9 | 9 |
| 10 Breakpad is an open source library which we use for crash reporting across all | 10 Breakpad is an open source library which we use for crash reporting across all |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 | 109 |
| 110 Once the browser has finished getting information from the crashed renderer via | 110 Once the browser has finished getting information from the crashed renderer via |
| 111 ptrace, it writes a byte to the file descriptor which was passed from the | 111 ptrace, it writes a byte to the file descriptor which was passed from the |
| 112 renderer. The renderer than wakes up (because it was blocking on reading from | 112 renderer. The renderer than wakes up (because it was blocking on reading from |
| 113 the other end) and rethrows the signal to itself. It then appears to crash | 113 the other end) and rethrows the signal to itself. It then appears to crash |
| 114 'normally' and other parts of the browser notice the abnormal termination and | 114 'normally' and other parts of the browser notice the abnormal termination and |
| 115 display the sad tab. | 115 display the sad tab. |
| 116 | 116 |
| 117 ## How to test Breakpad support in Chromium | 117 ## How to test Breakpad support in Chromium |
| 118 | 118 |
| 119 * Build Chromium with the gyp option `-Dlinux_breakpad=1`. | 119 * Build Chromium as normal. |
| 120 | |
| 121 ```shell | |
| 122 ./build/gyp_chromium -Dlinux_breakpad=1 | |
| 123 ninja -C out/Debug chrome | |
| 124 ``` | |
| 125 * Run the browser with the environment variable | 120 * Run the browser with the environment variable |
| 126 [CHROME_HEADLESS=1](https://crbug.com/19663). This enables crash dumping but | 121 [CHROME_HEADLESS=1](https://crbug.com/19663). This enables crash dumping but |
| 127 prevents crash dumps from being uploaded and deleted. | 122 prevents crash dumps from being uploaded and deleted. |
| 128 | 123 |
| 129 ```shell | 124 ```shell |
| 130 env CHROME_HEADLESS=1 ./out/Debug/chrome-wrapper | 125 env CHROME_HEADLESS=1 ./out/Debug/chrome-wrapper |
| 131 ``` | 126 ``` |
| 132 * Visit the special URL `about:crash` to trigger a crash in the renderer | 127 * Visit the special URL `chrome://crash` to trigger a crash in the renderer |
| 133 process. | 128 process. |
| 134 * A crash dump file should appear in the directory | 129 * A crash dump file should appear in the directory |
| 135 `~/.config/chromium/Crash Reports`. | 130 `~/.config/chromium/Crash Reports`. |
| OLD | NEW |