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 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 const std::vector<ProcessInfo::Module>& ProcessReaderWin::Modules() { | 273 const std::vector<ProcessInfo::Module>& ProcessReaderWin::Modules() { |
274 INITIALIZATION_STATE_DCHECK_VALID(initialized_); | 274 INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
275 | 275 |
276 if (!process_info_.Modules(&modules_)) { | 276 if (!process_info_.Modules(&modules_)) { |
277 LOG(ERROR) << "couldn't retrieve modules"; | 277 LOG(ERROR) << "couldn't retrieve modules"; |
278 } | 278 } |
279 | 279 |
280 return modules_; | 280 return modules_; |
281 } | 281 } |
282 | 282 |
| 283 const ProcessInfo& ProcessReaderWin::GetProcessInfo() const { |
| 284 INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
| 285 return process_info_; |
| 286 } |
| 287 |
283 template <class Traits> | 288 template <class Traits> |
284 void ProcessReaderWin::ReadThreadData(bool is_64_reading_32) { | 289 void ProcessReaderWin::ReadThreadData(bool is_64_reading_32) { |
285 DCHECK(threads_.empty()); | 290 DCHECK(threads_.empty()); |
286 | 291 |
287 scoped_ptr<uint8_t[]> buffer; | 292 scoped_ptr<uint8_t[]> buffer; |
288 process_types::SYSTEM_PROCESS_INFORMATION<Traits>* process_information = | 293 process_types::SYSTEM_PROCESS_INFORMATION<Traits>* process_information = |
289 GetProcessInformation<Traits>(process_, &buffer); | 294 GetProcessInformation<Traits>(process_, &buffer); |
290 if (!process_information) | 295 if (!process_information) |
291 return; | 296 return; |
292 | 297 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 thread.stack_region_size = 0; | 370 thread.stack_region_size = 0; |
366 } else { | 371 } else { |
367 thread.stack_region_size = base - limit; | 372 thread.stack_region_size = base - limit; |
368 } | 373 } |
369 } | 374 } |
370 threads_.push_back(thread); | 375 threads_.push_back(thread); |
371 } | 376 } |
372 } | 377 } |
373 | 378 |
374 } // namespace crashpad | 379 } // namespace crashpad |
OLD | NEW |