diff options
author | ted.mielczarek@gmail.com <ted.mielczarek@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2013-08-19 18:31:51 +0000 |
---|---|---|
committer | ted.mielczarek@gmail.com <ted.mielczarek@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2013-08-19 18:31:51 +0000 |
commit | 0510e34cbfe1b920b968c33e83101bed49c47aeb (patch) | |
tree | 3cc4bfb4e3c4bcd5a90599c7534116fef0c89426 /src/processor/stackwalker_x86.h | |
parent | Enable the SIGABRT handler on desktop OS X (diff) | |
download | breakpad-0510e34cbfe1b920b968c33e83101bed49c47aeb.tar.xz |
Allow setting a limit on the number of frames to be recovered by stack scanning.
Patch by Julian Seward <jseward@acm.org> R=ted at https://bugzilla.mozilla.org/show_bug.cgi?id=894264
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1206 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/processor/stackwalker_x86.h')
-rw-r--r-- | src/processor/stackwalker_x86.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/processor/stackwalker_x86.h b/src/processor/stackwalker_x86.h index 45e9709b..0659a13b 100644 --- a/src/processor/stackwalker_x86.h +++ b/src/processor/stackwalker_x86.h @@ -74,14 +74,16 @@ class StackwalkerX86 : public Stackwalker { // alternate conventions as guided by any WindowsFrameInfo available for the // code in question.). virtual StackFrame* GetContextFrame(); - virtual StackFrame* GetCallerFrame(const CallStack* stack); + virtual StackFrame* GetCallerFrame(const CallStack* stack, + bool stack_scan_allowed); // Use windows_frame_info (derived from STACK WIN and FUNC records) // to construct the frame that called frames.back(). The caller // takes ownership of the returned frame. Return NULL on failure. StackFrameX86* GetCallerByWindowsFrameInfo( const vector<StackFrame*> &frames, - WindowsFrameInfo* windows_frame_info); + WindowsFrameInfo* windows_frame_info, + bool stack_scan_allowed); // Use cfi_frame_info (derived from STACK CFI records) to construct // the frame that called frames.back(). The caller takes ownership @@ -94,7 +96,8 @@ class StackwalkerX86 : public Stackwalker { // %ebp points to the saved %ebp --- construct the frame that called // frames.back(). The caller takes ownership of the returned frame. // Return NULL on failure. - StackFrameX86* GetCallerByEBPAtBase(const vector<StackFrame*> &frames); + StackFrameX86* GetCallerByEBPAtBase(const vector<StackFrame*> &frames, + bool stack_scan_allowed); // Stores the CPU context corresponding to the innermost stack frame to // be returned by GetContextFrame. |