diff options
author | Tobias Sargeant <tobiasjs@google.com> | 2016-11-30 16:47:04 +0000 |
---|---|---|
committer | Tobias Sargeant <tobiasjs@chromium.org> | 2016-12-01 17:22:27 +0000 |
commit | 7a8980997d0e0dcf3f3a5d8ccf3c1d8c2840ea27 (patch) | |
tree | e376c9dcfbf32f4ade19b6b8b099f765361fa016 /src/client/linux/handler | |
parent | Comment out an unused function argument (diff) | |
download | breakpad-7a8980997d0e0dcf3f3a5d8ccf3c1d8c2840ea27.tar.xz |
Do not generate a microdump if there are no webview pointers on the stack.
The stack interest range is passed in MicrodumpExtraInfo from the client.
If the extracted stack does not contain a pointer in this range, then we
assume that this is not a WebView crash, and do not generate a microdump.
If the stack extraction fails, we still generate a microdump (without a
stack).
BUG=664460
Change-Id: Ic762497f76f074a3621c7ec88a8c20ed768b9211
Reviewed-on: https://chromium-review.googlesource.com/412781
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Diffstat (limited to 'src/client/linux/handler')
-rw-r--r-- | src/client/linux/handler/microdump_extra_info.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/client/linux/handler/microdump_extra_info.h b/src/client/linux/handler/microdump_extra_info.h index bf01f0c7..40cba1c4 100644 --- a/src/client/linux/handler/microdump_extra_info.h +++ b/src/client/linux/handler/microdump_extra_info.h @@ -40,11 +40,23 @@ struct MicrodumpExtraInfo { const char* gpu_fingerprint; const char* process_type; + // |interest_range_start| and |interest_range_end| specify a range + // in the target process address space. Microdumps are only + // generated if the PC or a word on the captured stack point into + // this range, or |suppress_microdump_based_on_interest_range| is + // false. + bool suppress_microdump_based_on_interest_range; + uintptr_t interest_range_start; + uintptr_t interest_range_end; + MicrodumpExtraInfo() : build_fingerprint(NULL), product_info(NULL), gpu_fingerprint(NULL), - process_type(NULL) {} + process_type(NULL), + suppress_microdump_based_on_interest_range(false), + interest_range_start(0), + interest_range_end(0) {} }; } |