diff options
author | Joshua Peraza <jperaza@chromium.org> | 2017-01-19 11:18:41 -0800 |
---|---|---|
committer | Joshua Peraza <jperaza@chromium.org> | 2017-01-19 19:33:56 +0000 |
commit | 0924d424e444d57dd95c647652a11f2d655c11a0 (patch) | |
tree | 03023e635cd25fbaf8b532c3151f6b397bcd12b4 /src/google_breakpad/processor/stackwalker.h | |
parent | Add API to skip dump if crashing thread doesn't reference a given module (2) (diff) | |
download | breakpad-0924d424e444d57dd95c647652a11f2d655c11a0.tar.xz |
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>
Diffstat (limited to 'src/google_breakpad/processor/stackwalker.h')
-rw-r--r-- | src/google_breakpad/processor/stackwalker.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/google_breakpad/processor/stackwalker.h b/src/google_breakpad/processor/stackwalker.h index a1bd3e7f..4378f75b 100644 --- a/src/google_breakpad/processor/stackwalker.h +++ b/src/google_breakpad/processor/stackwalker.h @@ -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_; |