From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10652 invoked by alias); 22 Apr 2010 09:17:03 -0000 Received: (qmail 10636 invoked by uid 22791); 22 Apr 2010 09:17:02 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00 X-Spam-Check-By: sourceware.org Received: from kz-easy.com (HELO almaty.kz-easy.com) (85.214.25.173) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 22 Apr 2010 09:16:57 +0000 Received: from alatau.radix50.net (dslb-088-065-035-251.pools.arcor-ip.net [88.65.35.251]) (authenticated bits=0) by almaty.kz-easy.com (8.13.8/8.13.8/Debian-3) with ESMTP id o3M9Gp1g020692 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Thu, 22 Apr 2010 11:16:52 +0200 Received: from alatau.radix50.net (localhost [127.0.0.1]) by alatau.radix50.net (8.14.3/8.14.3/Debian-5) with ESMTP id o3M9Gj4o010034 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Thu, 22 Apr 2010 11:16:46 +0200 Received: (from ibr@localhost) by alatau.radix50.net (8.14.3/8.14.3/Submit) id o3M9GjTk010033 for gdb@sourceware.org; Thu, 22 Apr 2010 11:16:45 +0200 Date: Thu, 22 Apr 2010 09:17:00 -0000 From: Baurzhan Ismagulov To: gdb@sourceware.org Subject: Re: No useful backtrace in core dump. Message-ID: <20100422091645.GD7781@radix50.net> Mail-Followup-To: gdb@sourceware.org References: <201004220818.o3M8INMG014249@glazunov.sibelius.xs4all.nl> <20100422084947.GA7781@radix50.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2010-04/txt/msg00075.txt.bz2 On Thu, Apr 22, 2010 at 05:02:10PM +0800, 代尔欣 wrote: > http://sources.redhat.com/ml/gdb/2008-08/msg00123.html > From above thread: > Indeed, changing abort() to invalid memory reference makes backtrace work. > foo (int a, int b) > { > int c=40; > abort(); <--- IIUC, change to invalid memory reference > return a+b; > } This is basically refraining from using abort(), which you said could be difficult for you to modify, especially since you don't know yet who calls it. As the first step, I'd run the app under gdb / gdbserver to find out the caller. With kind regards, -- Baurzhan Ismagulov http://www.kz-easy.com/