| 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;
|
|
|