OLD | NEW |
1 // Copyright 2015 The Crashpad Authors. All rights reserved. | 1 // Copyright 2015 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 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 | 161 |
162 template <class Traits> | 162 template <class Traits> |
163 void AddMemorySnapshotForLdrLIST_ENTRY( | 163 void AddMemorySnapshotForLdrLIST_ENTRY( |
164 const process_types::LIST_ENTRY<Traits>& le, | 164 const process_types::LIST_ENTRY<Traits>& le, |
165 size_t offset_of_member, | 165 size_t offset_of_member, |
166 PointerVector<internal::MemorySnapshotWin>* into); | 166 PointerVector<internal::MemorySnapshotWin>* into); |
167 | 167 |
168 WinVMSize DetermineSizeOfEnvironmentBlock( | 168 WinVMSize DetermineSizeOfEnvironmentBlock( |
169 WinVMAddress start_of_environment_block); | 169 WinVMAddress start_of_environment_block); |
170 | 170 |
171 // Starting from the address of a CRITICAL_SECTION, walks the doubly-linked | 171 // Starting from the address of a CRITICAL_SECTION, add a lock and, if valid, |
172 // list stored in RTL_CRITICAL_SECTION.DebugInfo.ProcessLocksList adding both | 172 // its .DebugInfo field to the snapshot. |
173 // the RTL_CRITICAL_SECTION and the RTL_CRITICAL_SECTION_DEBUG memory blocks | |
174 // to the snapshot. | |
175 template <class Traits> | 173 template <class Traits> |
176 void ReadLocks(WinVMAddress start, | 174 void ReadLock(WinVMAddress start, |
177 PointerVector<internal::MemorySnapshotWin>* into); | 175 PointerVector<internal::MemorySnapshotWin>* into); |
178 | 176 |
179 internal::SystemSnapshotWin system_; | 177 internal::SystemSnapshotWin system_; |
180 PointerVector<internal::MemorySnapshotWin> extra_memory_; | 178 PointerVector<internal::MemorySnapshotWin> extra_memory_; |
181 PointerVector<internal::ThreadSnapshotWin> threads_; | 179 PointerVector<internal::ThreadSnapshotWin> threads_; |
182 PointerVector<internal::ModuleSnapshotWin> modules_; | 180 PointerVector<internal::ModuleSnapshotWin> modules_; |
183 scoped_ptr<internal::ExceptionSnapshotWin> exception_; | 181 scoped_ptr<internal::ExceptionSnapshotWin> exception_; |
184 PointerVector<internal::MemoryMapRegionSnapshotWin> memory_map_; | 182 PointerVector<internal::MemoryMapRegionSnapshotWin> memory_map_; |
185 ProcessReaderWin process_reader_; | 183 ProcessReaderWin process_reader_; |
186 UUID report_id_; | 184 UUID report_id_; |
187 UUID client_id_; | 185 UUID client_id_; |
188 std::map<std::string, std::string> annotations_simple_map_; | 186 std::map<std::string, std::string> annotations_simple_map_; |
189 timeval snapshot_time_; | 187 timeval snapshot_time_; |
190 InitializationStateDcheck initialized_; | 188 InitializationStateDcheck initialized_; |
191 | 189 |
192 DISALLOW_COPY_AND_ASSIGN(ProcessSnapshotWin); | 190 DISALLOW_COPY_AND_ASSIGN(ProcessSnapshotWin); |
193 }; | 191 }; |
194 | 192 |
195 } // namespace crashpad | 193 } // namespace crashpad |
196 | 194 |
197 #endif // CRASHPAD_SNAPSHOT_WIN_PROCESS_SNAPSHOT_WIN_H_ | 195 #endif // CRASHPAD_SNAPSHOT_WIN_PROCESS_SNAPSHOT_WIN_H_ |
OLD | NEW |