aboutsummaryrefslogtreecommitdiff
path: root/src/client/linux/handler
diff options
context:
space:
mode:
authorTobias Sargeant <tobiasjs@google.com>2016-11-30 16:47:04 +0000
committerTobias Sargeant <tobiasjs@chromium.org>2016-12-01 17:22:27 +0000
commit7a8980997d0e0dcf3f3a5d8ccf3c1d8c2840ea27 (patch)
treee376c9dcfbf32f4ade19b6b8b099f765361fa016 /src/client/linux/handler
parentComment out an unused function argument (diff)
downloadbreakpad-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.h14
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) {}
};
}