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 |