You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What steps will reproduce the problem?
1. Build a binary with VC8 and optimizations that remove the frame pointer
2. Run dump_syms on the PDB
3. Collect and process a crash that walks through those functions
When VC8 compiles functions, it can avoid modifying %ebp at all... so the
program generated by MS debug is something like the following:
$T2 $esp .cbLocals + .cbSavedRegs + = $T0 .raSearchStart = $eip $T0 ^ =
$esp $T0 4 + =
This is a perfectly valid program, which doesn't set $ebp. This means that
in StackWalkerX86::GetCallerFrame dictionary_validity.find("$ebp") will
fail, and stop walking the stack.
The attached patch removes the check for dictionary_validity.find("$ebp").
This works, but I'm not sure why the check for $ebp was added in the first
place.
Original issue reported on code.google.com by bsmedb...@gmail.com on 8 May 2007 at 5:15
Original issue reported on code.google.com by
bsmedb...@gmail.com
on 8 May 2007 at 5:15Attachments:
The text was updated successfully, but these errors were encountered: