Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(8669)

Issue 146001: Implement CrashGeneration{Server,Client}, OOP ExceptionHandler for Mac (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years, 7 months ago by Ted Mielczarek
Modified:
13 years, 7 months ago
Reviewers:
Mark Mentovai
CC:
google-breakpad-dev_googlegroups.com
Visibility:
Public.

Description

This patch implements a CrashGenerationServer and CrashGenerationClient for OS X
like we currently have on Windows and Linux. It also adds support for using
ExceptionHandler to communicate to a CrashGenerationServer for out-of-process
minidump generation. The IPC code is copied from the Breakpad framework right
now. I'd like to refactor the Breakpad framework to use an OOP ExceptionHandler,
and have the Inspector use a CrashGenerationServer so they can share the IPC
code, but I think that's best done as a followup.

Patch Set 1 #

Total comments: 63

Patch Set 2 : Updated with Mark's comments #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats Patch
M src/client/mac/Breakpad.xcodeproj/project.pbxproj View 1 20 chunks +193 lines, -2 lines 0 comments Download
A src/client/mac/crash_generation/client_info.h View 1 1 chunk +43 lines, -0 lines 0 comments Download
A src/client/mac/crash_generation/crash_generation_client.cc View 1 chunk +74 lines, -0 lines 0 comments Download
A src/client/mac/crash_generation/crash_generation_client.h View 1 1 chunk +65 lines, -0 lines 0 comments Download
A src/client/mac/crash_generation/crash_generation_server.cc View 1 chunk +157 lines, -0 lines 1 comment Download
A src/client/mac/crash_generation/crash_generation_server.h View 1 1 chunk +132 lines, -0 lines 0 comments Download
M src/client/mac/handler/exception_handler.cc View 1 3 chunks +19 lines, -3 lines 0 comments Download
M src/client/mac/handler/exception_handler.h View 1 4 chunks +15 lines, -1 line 0 comments Download
A src/client/mac/tests/crash_generation_server_test.cc View 1 1 chunk +217 lines, -0 lines 0 comments Download
M src/client/mac/tests/exception_handler_test.cc View 1 3 chunks +4 lines, -1 line 0 comments Download
M src/common/mac/MachIPC.h View 2 chunks +4 lines, -4 lines 0 comments Download
M src/common/mac/MachIPC.mm View 1 chunk +4 lines, -1 line 0 comments Download
A src/common/mac/scoped_task_suspend-inl.h View 1 chunk +56 lines, -0 lines 0 comments Download

Messages

Total messages: 7
Ted Mielczarek
13 years, 7 months ago #1
Mark Mentovai
Preliminaries. It’s lunchtime. I’ll read more later. http://breakpad.appspot.com/146001/diff/1/3 File src/client/mac/crash_generation/client_info.h (right): http://breakpad.appspot.com/146001/diff/1/3#newcode33 Line 33: #include ...
13 years, 7 months ago #2
Mark Mentovai
http://breakpad.appspot.com/146001/diff/1/7 File src/client/mac/crash_generation/crash_generation_server.mm (right): http://breakpad.appspot.com/146001/diff/1/7#newcode1 Line 1: // Copyright (c) 2010 Google Inc. This does ...
13 years, 7 months ago #3
Mark Mentovai
High-level comments (now that I’ve read this). I don’t believe that this is the right ...
13 years, 7 months ago #4
Ted Mielczarek
On 2010/08/12 18:54:43, Mark Mentovai wrote: ... > As you’ve implemented this, exception handling is ...
13 years, 7 months ago #5
Ted Mielczarek
http://breakpad.appspot.com/146001/diff/1/4 File src/client/mac/crash_generation/crash_generation_client.h (right): http://breakpad.appspot.com/146001/diff/1/4#newcode39 Line 39: CrashGenerationClient(const char* mach_port_name) : sender_(mach_port_name) { On 2010/08/12 ...
13 years, 7 months ago #6
Mark Mentovai
13 years, 7 months ago #7
LGTM.

I started playing with something that can do out-of-process exception handling
without having any component of the exception handler in the crash process. I’ve
gotten something that starts an exception handler process on demand.

http://breakpad.appspot.com/146001/diff/15001/16005
File src/client/mac/crash_generation/crash_generation_server.cc (right):

http://breakpad.appspot.com/146001/diff/15001/16005#newcode131
Line 131: // TODO(ted): support a way for the client to send additional data,
perhaps
80
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted