| Index: third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h
|
| diff --git a/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h b/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h
|
| index 3e66dd2612b1228b4b66f1b1da25f17500c1a50a..8ff7d3811abad33a30815ccd91853a5a316bbfd6 100644
|
| --- a/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h
|
| +++ b/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h
|
| @@ -22,6 +22,7 @@
|
| #include "build/build_config.h"
|
| #include "snapshot/cpu_context.h"
|
| #include "snapshot/exception_snapshot.h"
|
| +#include "snapshot/win/thread_snapshot_win.h"
|
| #include "util/misc/initialization_state_dcheck.h"
|
| #include "util/stdlib/pointer_container.h"
|
| #include "util/win/address_types.h"
|
| @@ -35,6 +36,13 @@ namespace internal {
|
|
|
| class MemorySnapshotWin;
|
|
|
| +#if defined(ARCH_CPU_X86_FAMILY)
|
| +union CPUContextUnion {
|
| + CPUContextX86 x86;
|
| + CPUContextX86_64 x86_64;
|
| +};
|
| +#endif
|
| +
|
| class ExceptionSnapshotWin final : public ExceptionSnapshot {
|
| public:
|
| ExceptionSnapshotWin();
|
| @@ -53,7 +61,8 @@ class ExceptionSnapshotWin final : public ExceptionSnapshot {
|
| //! an appropriate message logged.
|
| bool Initialize(ProcessReaderWin* process_reader,
|
| DWORD thread_id,
|
| - WinVMAddress exception_pointers);
|
| + WinVMAddress exception_pointers,
|
| + const PointerVector<internal::ThreadSnapshotWin>& threads);
|
|
|
| // ExceptionSnapshot:
|
|
|
| @@ -69,15 +78,16 @@ class ExceptionSnapshotWin final : public ExceptionSnapshot {
|
| template <class ExceptionRecordType,
|
| class ExceptionPointersType,
|
| class ContextType>
|
| - bool InitializeFromExceptionPointers(const ProcessReaderWin& process_reader,
|
| - WinVMAddress exception_pointers_address,
|
| - ContextType* context_record);
|
| + bool InitializeFromExceptionPointers(
|
| + const ProcessReaderWin& process_reader,
|
| + WinVMAddress exception_pointers_address,
|
| + const PointerVector<internal::ThreadSnapshotWin>& threads,
|
| + void (*native_to_cpu_context)(const ContextType& context_record,
|
| + CPUContext* context,
|
| + CPUContextUnion* context_union));
|
|
|
| #if defined(ARCH_CPU_X86_FAMILY)
|
| - union {
|
| - CPUContextX86 x86;
|
| - CPUContextX86_64 x86_64;
|
| - } context_union_;
|
| + CPUContextUnion context_union_;
|
| #endif
|
| CPUContext context_;
|
| std::vector<uint64_t> codes_;
|
|
|