zhangqd / chromiumembedded

Automatically exported from code.google.com/p/chromiumembedded
0 stars 1 forks source link

Add breakpad support #1131

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Breakpad is the multi-platform crash reporting system using by Chromium: 
https://code.google.com/p/google-breakpad/

Chromium added breakpad support for content_shell in http://crbug.com/247431. 
Usage is described in 
https://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tes
ts/using-breakpad-with-content-shell. This functionality could be exposed via 
CEF to facilitate crash reporting from CEF-based applications.

Note that this implementation only includes support for capturing and writing 
crash dumps to file. Setup of a crash dump server and transport of dumps from 
the file system to that server are still the responsibility of the client 
application. Socorro is one possible crash dump server: 
https://wiki.mozilla.org/Socorro

The attached patch file is an extract of the content_shell changes from the 
above issue.

Original issue reported on code.google.com by magreenb...@gmail.com on 7 Nov 2013 at 5:22

Attachments:

GoogleCodeExporter commented 9 years ago
Breakpad support is added in trunk revision 1524.

- Mac: Generate "Chromium Embedded Framework.framework" using a new 
cef_framework target (the libcef target is now only used on Windows and Linux). 
Rename "Libraries/libcef.dylib" to "Chromium Embedded Framework". Distribute 
Release and Debug builds of the "Chromium Embedded Framework.framework" folder 
as part of the binary distribution.
- Mac: Fix the Xcode target compiler setting for the binary distribution so 
that it no longer needs to be set manually.

This matches the current content_shell implementation. Additional work is 
required to make it easier to submit the resulting crash reports from client 
applications.

Original comment by magreenb...@gmail.com on 21 Nov 2013 at 10:45

GoogleCodeExporter commented 9 years ago
Note that the sandbox must be enabled to get accurate crash reports from 
subprocesses. See 
https://groups.google.com/a/chromium.org/d/msg/chromium-dev/tJ48PfabcC8/EPqIOqa6
0bEJ for additional details.

Original comment by magreenb...@gmail.com on 21 Nov 2013 at 10:57

GoogleCodeExporter commented 9 years ago
The following information applies to the out-of-process crash handler for 
Google Chrome on Windows.

1. The crash server, which is part of the Google Update service, listens on a 
named pipe for crash reports (Crash::StartServer() in 
https://code.google.com/p/omaha/source/browse/trunk/goopdate/crash.cc).
2. When Chrome crashes breakpad writes the crash details out to the named pipe 
(InitCrashReporter() in 
http://src.chromium.org/viewvc/chrome/trunk/src/components/breakpad/app/breakpad
_win.cc).
3. The pipe name can be customized on the Chrome side using the 
"CHROME_BREAKPAD_PIPE_NAME" environment variable.

Original comment by magreenb...@gmail.com on 22 Nov 2013 at 4:24

GoogleCodeExporter commented 9 years ago
On OS X the crash reports are handled by the crash_reporter_sender app based on 
Breakpad* keys in the Info.plist file. The app lives at 
breakpad/src/client/mac/sender/ in the Chromium source repo.

Original comment by magreenb...@gmail.com on 10 Mar 2014 at 2:01

GoogleCodeExporter commented 9 years ago
CEF is transitioning from Google Code to Bitbucket project hosting. If you 
would like to continue receiving notifications on this issue please add 
yourself as a Watcher at the new location: 
https://bitbucket.org/chromiumembedded/cef/issue/1131

Original comment by magreenb...@gmail.com on 14 Mar 2015 at 3:28