mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2026-03-06 12:26:32 +00:00
Create StackFrame::FRAME_TRUST_PREWALKED trust type.
This creates a new frame trust type for prewalked stack frames, as suggested in the review of https://breakpad.appspot.com/620002/. R=ted.mielczarek@gmail.com, mark@chromium.org Review URL: https://breakpad.appspot.com/621002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1208 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
@@ -45,12 +45,13 @@ struct StackFrame {
|
||||
// stack scanning, it can wind up with dubious frames.
|
||||
// In rough order of "trust metric".
|
||||
enum FrameTrust {
|
||||
FRAME_TRUST_NONE, // Unknown
|
||||
FRAME_TRUST_SCAN, // Scanned the stack, found this
|
||||
FRAME_TRUST_CFI_SCAN, // Scanned the stack using call frame info, found this
|
||||
FRAME_TRUST_FP, // Derived from frame pointer
|
||||
FRAME_TRUST_CFI, // Derived from call frame info
|
||||
FRAME_TRUST_CONTEXT // Given as instruction pointer in a context
|
||||
FRAME_TRUST_NONE, // Unknown
|
||||
FRAME_TRUST_SCAN, // Scanned the stack, found this
|
||||
FRAME_TRUST_CFI_SCAN, // Found while scanning stack using call frame info
|
||||
FRAME_TRUST_FP, // Derived from frame pointer
|
||||
FRAME_TRUST_CFI, // Derived from call frame info
|
||||
FRAME_TRUST_PREWALKED, // Explicitly provided by some external stack walker.
|
||||
FRAME_TRUST_CONTEXT // Given as instruction pointer in a context
|
||||
};
|
||||
|
||||
StackFrame()
|
||||
@@ -70,6 +71,8 @@ struct StackFrame {
|
||||
switch (trust) {
|
||||
case StackFrame::FRAME_TRUST_CONTEXT:
|
||||
return "given as instruction pointer in context";
|
||||
case StackFrame::FRAME_TRUST_PREWALKED:
|
||||
return "recovered by external stack walker";
|
||||
case StackFrame::FRAME_TRUST_CFI:
|
||||
return "call frame info";
|
||||
case StackFrame::FRAME_TRUST_CFI_SCAN:
|
||||
|
||||
Reference in New Issue
Block a user