Chromium Code Reviews| Index: snapshot/win/process_snapshot_win.cc |
| diff --git a/snapshot/win/process_snapshot_win.cc b/snapshot/win/process_snapshot_win.cc |
| index b25e8caa1079f2267babe3e53543020338af56e2..bde59918695529b9aac46e4226827c580e8eb2a9 100644 |
| --- a/snapshot/win/process_snapshot_win.cc |
| +++ b/snapshot/win/process_snapshot_win.cc |
| @@ -24,7 +24,7 @@ ProcessSnapshotWin::ProcessSnapshotWin() |
| system_(), |
| threads_(), |
| modules_(), |
| - // TODO(scottmg): exception_(), |
| + exception_(), |
| process_reader_(), |
| report_id_(), |
| client_id_(), |
| @@ -53,6 +53,22 @@ bool ProcessSnapshotWin::Initialize(HANDLE process) { |
| return true; |
| } |
| +bool ProcessSnapshotWin::InitializeException( |
| + DWORD thread_id, |
| + WinVMAddress exception_pointers) { |
| + INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
| + DCHECK(!exception_); |
|
Mark Mentovai
2015/08/18 16:17:20
Can you add a logging.h #include to the Mac equiva
scottmg
2015/08/18 16:56:00
Mac looks correct to me? I added it here though.
Mark Mentovai
2015/08/18 17:52:13
scottmg wrote:
scottmg
2015/08/18 18:18:20
Oh, I must have been looking at exception_snapshot
|
| + |
| + exception_.reset(new internal::ExceptionSnapshotWin()); |
| + if (!exception_->Initialize( |
| + &process_reader_, thread_id, exception_pointers)) { |
| + exception_.reset(); |
| + return false; |
| + } |
| + |
| + return true; |
| +} |
| + |
| void ProcessSnapshotWin::GetCrashpadOptions( |
| CrashpadInfoClientOptions* options) { |
| INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
| @@ -149,8 +165,7 @@ std::vector<const ModuleSnapshot*> ProcessSnapshotWin::Modules() const { |
| } |
| const ExceptionSnapshot* ProcessSnapshotWin::Exception() const { |
| - CHECK(false) << "TODO(scottmg): Exception()"; |
| - return nullptr; |
| + return exception_.get(); |
| } |
| void ProcessSnapshotWin::InitializeThreads() { |