Segmentation fault when exception is thrown or assertion fails [g++/gcc]

Dave Korn dave.korn.cygwin@googlemail.com
Sun Jul 5 17:49:00 GMT 2009


Roman Werpachowski wrote:
> On Sun, Jul 5, 2009 at 1:50 PM, Dave Korn<XXXX> wrote:
>>  Well, what happened was that there's a bug somewhere, and while cygwin was
>> in the process of dumping the stack trace for the abort caused by your
>> assertion firing,
> 
> One more question: how can I use this stack trace to debug genuine
> errors? "gdb -c" cannot load it.

  It's not a full core dump, it's just a stack backtrace in human-readable
format.  If you copy and paste the addresses in the second column (Function)
into "addr2line --exe <path-to-your-executable>" (and assuming you compiled
with debug info), it'll turn them into a list of addresses.

  (Note that in the examples you gave, all the addresses were in the cygwin
DLL, because the compiler had optimised the implied abort() call in the
assert() in your main() function into a tail-call; effectively your code had
already returned from main.)

    cheers,
      DaveK

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list