Closed Bug 517830 Opened 10 years ago Closed 10 years ago

Breakpad Processor: add support for call frame information


(Toolkit :: Crash Reporting, defect)

Not set





(Reporter: jimb, Assigned: jimb)



The Breakpad processor should be extended to parse and use the new call frame information format.

The proposed Breakpad call frame information is architecture-neutral, just as DWARF CFI is.  The unwinder for any architecture should be able to use Breakpad CFI.  By contrast, Windows PDB unwinding information is supported only on the x86.  However, the current Breakpad code uselessly passes unwinding data structures specific to the PDB-derived data to all architectures' unwinders.  Some refactoring here is needed to allow all unwinders to easily access whatever sort of unwinding information happens to be available and appropriate.
The processor-side support for this is written, but untested.  Bug 517829 has the other half of the work.
The tests for this work are complete as of:
These patches have all been submitted to Google for review.  Each has a URL of the form:

53010 - Breakpad: Add minidump processor support for DWARF Call Frame Information.
55010 - Breakpad processor: Move STACK WIN record parsing into its own function.
55009 - Breakpad processor: Give Windows stack data Windows-specific names.
55008 - Breakpad processor: Segregate STACK WIN vs. traditional stack walking.
53009 - Breakpad x86 Stack Walker: Pass "out" parameters by address, not reference.
55007 - Breakpad processor: Unit tests for StackwalkerX86.
53007 - Breakpad processor: Save Windows unwinding data earlier in x86 walker.
52001 - Breakpad processor: Make PostfixEvaluator treat the MemoryRegion as const.
51005 - Breakpad processor: Support evaluating a postfix expression to produce a value.
53001 - Breakpad Processor: Add new unit tests for google_breakpad::Minidump
Landed in upstream sources.
Assignee: nobody → jim
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.