Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Issue 115526: Linux: Add Breakpad client. (Closed)

Created:
11 years, 7 months ago by agl
Modified:
9 years, 7 months ago
Reviewers:
Evan Martin
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Linux: Add Breakpad client. This adds a Breakpad client in breakpad/linux. Breakpad already contains a Linux client however, for many reasons, it is not of sufficient quality to use in Chrome. Nor can it easilly be patched into shape. This change also forks minidump_file_writer.cc from the Breakpad source in order to remove it's dependency on the dynamic linker. This is a small forking an should be upstreamed when we have time. BUG=10772

Patch Set 1 #

Patch Set 2 : ... #

Total comments: 5

Patch Set 3 : ... #

Patch Set 4 : ... #

Unified diffs Side-by-side diffs Delta from patch set Stats (+7831 lines, -27 lines) Patch
M breakpad/breakpad.gyp View 1 2 1 chunk +108 lines, -0 lines 0 comments Download
A breakpad/linux/directory_reader.h View 1 2 3 1 chunk +105 lines, -0 lines 0 comments Download
A breakpad/linux/directory_reader_unittest.cc View 1 2 3 1 chunk +77 lines, -0 lines 0 comments Download
A breakpad/linux/exception_handler.h View 1 2 3 1 chunk +197 lines, -0 lines 0 comments Download
A breakpad/linux/exception_handler.cc View 1 2 3 1 chunk +308 lines, -0 lines 0 comments Download
A breakpad/linux/exception_handler_unittest.cc View 1 chunk +246 lines, -0 lines 0 comments Download
A breakpad/linux/generate-test-dump.cc View 1 chunk +68 lines, -0 lines 0 comments Download
A breakpad/linux/line_reader.h View 1 2 3 1 chunk +125 lines, -0 lines 0 comments Download
A breakpad/linux/line_reader_unittest.cc View 1 chunk +184 lines, -0 lines 0 comments Download
A breakpad/linux/linux_dumper.h View 1 2 1 chunk +118 lines, -0 lines 0 comments Download
A breakpad/linux/linux_dumper.cc View 1 2 3 1 chunk +332 lines, -0 lines 0 comments Download
A breakpad/linux/linux_dumper_unittest.cc View 1 chunk +66 lines, -0 lines 0 comments Download
A breakpad/linux/linux_libc_support.h View 1 1 chunk +178 lines, -0 lines 0 comments Download
A breakpad/linux/linux_libc_support_unittest.cc View 1 chunk +153 lines, -0 lines 0 comments Download
A breakpad/linux/linux_syscall_support.h View 1 1 chunk +2800 lines, -0 lines 0 comments Download
A breakpad/linux/memory.h View 1 chunk +176 lines, -0 lines 0 comments Download
A breakpad/linux/memory_unittest.cc View 1 chunk +84 lines, -0 lines 0 comments Download
A breakpad/linux/minidump-2-core.cc View 1 1 chunk +601 lines, -0 lines 0 comments Download
A breakpad/linux/minidump_file_writer.cc View 1 chunk +254 lines, -0 lines 0 comments Download
A breakpad/linux/minidump_format_linux.h View 1 chunk +44 lines, -0 lines 0 comments Download
A breakpad/linux/minidump_writer.h View 1 chunk +53 lines, -0 lines 0 comments Download
A breakpad/linux/minidump_writer.cc View 1 1 chunk +611 lines, -0 lines 0 comments Download
A breakpad/linux/minidump_writer_unittest.cc View 1 chunk +70 lines, -0 lines 0 comments Download
M build/all.gyp View 1 1 chunk +1 line, -0 lines 0 comments Download
M build/common.gypi View 2 3 4 chunks +12 lines, -23 lines 0 comments Download
A chrome/app/breakpad_linux.h View 2 1 chunk +12 lines, -0 lines 0 comments Download
A chrome/app/breakpad_linux.cc View 2 3 1 chunk +392 lines, -0 lines 0 comments Download
A chrome/app/breakpad_linux_stub.cc View 1 chunk +9 lines, -0 lines 0 comments Download
M chrome/browser/browser_main.cc View 2 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/browser_render_process_host.cc View 2 2 chunks +9 lines, -0 lines 0 comments Download
A chrome/browser/renderer_host/render_crash_handler_host_linux.h View 2 3 1 chunk +47 lines, -0 lines 0 comments Download
A chrome/browser/renderer_host/render_crash_handler_host_linux.cc View 2 3 1 chunk +187 lines, -0 lines 0 comments Download
A chrome/browser/renderer_host/render_crash_handler_host_linux_stub.cc View 1 chunk +22 lines, -0 lines 0 comments Download
M chrome/chrome.gyp View 2 4 chunks +50 lines, -3 lines 0 comments Download
A chrome/renderer/render_crash_handler_linux.h View 1 chunk +16 lines, -0 lines 0 comments Download
A chrome/renderer/render_crash_handler_linux.cc View 2 3 1 chunk +85 lines, -0 lines 0 comments Download
A chrome/renderer/render_crash_handler_linux_stub.cc View 1 chunk +9 lines, -0 lines 0 comments Download
M chrome/renderer/renderer_logging_linux.cc View 3 1 chunk +7 lines, -1 line 0 comments Download
M chrome/renderer/renderer_main.cc View 2 3 2 chunks +7 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
agl
UNFINISHED: I haven't managed to do my own read-though on this code yet, but I'm ...
11 years, 7 months ago (2009-05-21 01:14:03 UTC) #1
Evan Martin
11 years, 7 months ago (2009-05-21 16:55:20 UTC) #2
I started at the top and only got a few files in before I was preempted.

I think Markus is probably the right person to review this.

It'd be helpful to stick a README in the dir mentioning design points (e.g.
"can't allocate memory").

http://codereview.chromium.org/115526/diff/1025/27
File breakpad/linux/directory_reader.h (right):

http://codereview.chromium.org/115526/diff/1025/27#newcode59
Line 59: // entry over and over.
In light of the above comment it might be clearer to have this called GetEntry
and describe it in terms of the "current" entry, where it returns false when
there is no current.

http://codereview.chromium.org/115526/diff/1025/29
File breakpad/linux/exception_handler.cc (right):

http://codereview.chromium.org/115526/diff/1025/29#newcode61
Line 61: // context and are easy the code, others run in a compromised context
and the
typo: "easy the code"

http://codereview.chromium.org/115526/diff/1025/29#newcode131
Line 131: // Runs before crashing: normal context.
these comments are very helpful, thanks!

http://codereview.chromium.org/115526/diff/1025/29#newcode158
Line 158: // mask all exception signals which we're handling one of them.
grammar typo

http://codereview.chromium.org/115526/diff/1025/30
File breakpad/linux/exception_handler.h (right):

http://codereview.chromium.org/115526/diff/1025/30#newcode189
Line 189: // A vector of the old signal handlers. The void* is a pointer to be
new
"to be new" is a typo somewhere.  I think this is trying to say it's a poitner
to the old sigaction structure?  (Or maybe a newly allocated one with the old
handler's details?)

Powered by Google App Engine
This is Rietveld 408576698