Sometimes GDB cannot parse the call stack correctly, and the call stack in gdb shows as:
(gdb) bt 0 0xb7f33410 in ?? ()1 0xa89793a8 in ?? ()2 0x00000002 in ?? ()3 0x00000000 in ?? ()
since the call stack can be re-calculated by the stack frame, so if we can get the correct