OLD | NEW |
1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 //! \param[in] process_reader_thread The thread within the ProcessReader that | 46 //! \param[in] process_reader_thread The thread within the ProcessReader that |
47 //! for which the snapshot should be created. | 47 //! for which the snapshot should be created. |
48 //! | 48 //! |
49 //! \return `true` if the snapshot could be created, `false` otherwise with | 49 //! \return `true` if the snapshot could be created, `false` otherwise with |
50 //! an appropriate message logged. | 50 //! an appropriate message logged. |
51 bool Initialize(ProcessReader* process_reader, | 51 bool Initialize(ProcessReader* process_reader, |
52 const ProcessReader::Thread& process_reader_thread); | 52 const ProcessReader::Thread& process_reader_thread); |
53 | 53 |
54 // ThreadSnapshot: | 54 // ThreadSnapshot: |
55 | 55 |
56 virtual const CPUContext* Context() const override; | 56 const CPUContext* Context() const override; |
57 virtual const MemorySnapshot* Stack() const override; | 57 const MemorySnapshot* Stack() const override; |
58 virtual uint64_t ThreadID() const override; | 58 uint64_t ThreadID() const override; |
59 virtual int SuspendCount() const override; | 59 int SuspendCount() const override; |
60 virtual int Priority() const override; | 60 int Priority() const override; |
61 virtual uint64_t ThreadSpecificDataAddress() const override; | 61 uint64_t ThreadSpecificDataAddress() const override; |
62 | 62 |
63 private: | 63 private: |
64 #if defined(ARCH_CPU_X86_FAMILY) | 64 #if defined(ARCH_CPU_X86_FAMILY) |
65 union { | 65 union { |
66 CPUContextX86 x86; | 66 CPUContextX86 x86; |
67 CPUContextX86_64 x86_64; | 67 CPUContextX86_64 x86_64; |
68 } context_union_; | 68 } context_union_; |
69 #endif | 69 #endif |
70 CPUContext context_; | 70 CPUContext context_; |
71 MemorySnapshotMac stack_; | 71 MemorySnapshotMac stack_; |
72 uint64_t thread_id_; | 72 uint64_t thread_id_; |
73 uint64_t thread_specific_data_address_; | 73 uint64_t thread_specific_data_address_; |
74 thread_t thread_; | 74 thread_t thread_; |
75 int suspend_count_; | 75 int suspend_count_; |
76 int priority_; | 76 int priority_; |
77 InitializationStateDcheck initialized_; | 77 InitializationStateDcheck initialized_; |
78 | 78 |
79 DISALLOW_COPY_AND_ASSIGN(ThreadSnapshotMac); | 79 DISALLOW_COPY_AND_ASSIGN(ThreadSnapshotMac); |
80 }; | 80 }; |
81 | 81 |
82 } // namespace internal | 82 } // namespace internal |
83 } // namespace crashpad | 83 } // namespace crashpad |
84 | 84 |
85 #endif // CRASHPAD_SNAPSHOT_THREAD_SNAPSHOT_MAC_H_ | 85 #endif // CRASHPAD_SNAPSHOT_THREAD_SNAPSHOT_MAC_H_ |
OLD | NEW |