delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/07/05/13:46:06

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4A50E9C6.4030202@gmail.com>
Date: Sun, 05 Jul 2009 18:58:30 +0100
From: Dave Korn <dave DOT korn DOT cygwin AT googlemail DOT com>
User-Agent: Thunderbird 2.0.0.17 (Windows/20080914)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Segmentation fault when exception is thrown or assertion fails [g++/gcc]
References: <a15a61310907042018t40f47459m6054bb3772ff62d5 AT mail DOT gmail DOT com> <a15a61310907042043m63b85017kcae8f9362b5fafee AT mail DOT gmail DOT com> <4A50A18B DOT 6070407 AT gmail DOT com> <a15a61310907050921o691fb1a5h173dc35a95d732b1 AT mail DOT gmail DOT com>
In-Reply-To: <a15a61310907050921o691fb1a5h173dc35a95d732b1@mail.gmail.com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019