mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2025-12-29 02:35:31 +01:00
Populate stack frames with unloaded module info.
This CL hits lots of source files because: 1. An update to the CodeModule virtual class. I added an is_loaded method to specify whether the module is loaded. There were several mocks/test classes that needed to be updated with an implementation. An alternative to this route would be to modify MinidumpUnloadedModule::code_file to prepend "Unloaded_" to the module name. 2. Added an unloaded_modules parameter to StackFrameSymbolizer::FillSourceLineInfo. BUG= Change-Id: Ic9c7f7c7b7e932a154a5d4ccf292c1527d8da09f Reviewed-on: https://chromium-review.googlesource.com/430241 Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
This commit is contained in:
parent
e7dfafc16e
commit
0924d424e4
15 changed files with 161 additions and 13 deletions
|
|
@ -89,8 +89,10 @@ class Stackwalker {
|
|||
DumpContext* context,
|
||||
MemoryRegion* memory,
|
||||
const CodeModules* modules,
|
||||
const CodeModules* unloaded_modules,
|
||||
StackFrameSymbolizer* resolver_helper);
|
||||
|
||||
|
||||
static void set_max_frames(uint32_t max_frames) {
|
||||
max_frames_ = max_frames;
|
||||
max_frames_set_ = true;
|
||||
|
|
@ -189,6 +191,11 @@ class Stackwalker {
|
|||
// This field is optional and may be NULL.
|
||||
const CodeModules* modules_;
|
||||
|
||||
// A list of unloaded modules, for populating frames which aren't matched
|
||||
// to any loaded modules.
|
||||
// This field is optional and may be NULL.
|
||||
const CodeModules* unloaded_modules_;
|
||||
|
||||
protected:
|
||||
// The StackFrameSymbolizer implementation.
|
||||
StackFrameSymbolizer* frame_symbolizer_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue