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() { |