Index: snapshot/win/exception_snapshot_win.h |
diff --git a/snapshot/win/exception_snapshot_win.h b/snapshot/win/exception_snapshot_win.h |
index 277cd4a5117eb23ddea04d1f6926245cb34441fa..e5dc1fa777a8eae68b67fc01e527225486352880 100644 |
--- a/snapshot/win/exception_snapshot_win.h |
+++ b/snapshot/win/exception_snapshot_win.h |
@@ -24,6 +24,7 @@ |
#include "snapshot/exception_snapshot.h" |
#include "util/misc/initialization_state_dcheck.h" |
#include "util/win/address_types.h" |
+#include "util/win/process_structs.h" |
namespace crashpad { |
@@ -61,12 +62,25 @@ class ExceptionSnapshotWin final : public ExceptionSnapshot { |
const std::vector<uint64_t>& Codes() const override; |
private: |
- template <class ExceptionRecordType, class ContextType> |
+ template <class ExceptionRecordType, |
+ class ExceptionPointersType, |
+ class ContextType> |
bool InitializeFromExceptionPointers( |
const ProcessReaderWin& process_reader, |
- const EXCEPTION_POINTERS& exception_pointers, |
+ const ExceptionPointersType& exception_pointers, |
ContextType* context_record); |
+ template <class ContextRecordType> |
+ bool CommonX86Initialize( |
+ const ProcessReaderWin& process_reader, |
+ const process_types::EXCEPTION_POINTERS< |
+ process_types::internal::Traits32>& exception_pointers); |
+ |
+ template <class ExceptionPointersType> |
+ bool ReadExceptionPointers(const ProcessReaderWin& process_reader, |
+ WinVMAddress exception_pointers_address, |
+ ExceptionPointersType* exception_pointers); |
+ |
#if defined(ARCH_CPU_X86_FAMILY) |
union { |
CPUContextX86 x86; |