From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22885 invoked by alias); 23 Jun 2008 17:12:24 -0000 Received: (qmail 22877 invoked by uid 22791); 23 Jun 2008 17:12:23 -0000 X-Spam-Check-By: sourceware.org Received: from bluesmobile.specifix.com (HELO bluesmobile.specifix.com) (216.129.118.140) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 23 Jun 2008 17:12:06 +0000 Received: from [127.0.0.1] (bluesmobile.specifix.com [216.129.118.140]) by bluesmobile.specifix.com (Postfix) with ESMTP id 963393C42A; Mon, 23 Jun 2008 10:12:04 -0700 (PDT) Subject: Re: How to catch GDB crash From: Michael Snyder To: Dmitry Smirnov Cc: gdb@sourceware.org In-Reply-To: References: Content-Type: text/plain Date: Mon, 23 Jun 2008 17:12:00 -0000 Message-Id: <1214241124.3601.1180.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 (2.10.3-7.fc7) Content-Transfer-Encoding: 7bit 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: 2008-06/txt/msg00219.txt.bz2 On Mon, 2008-06-23 at 20:31 +0400, Dmitry Smirnov wrote: > Hi, > > I've encountered the very annoying problem with GDB. While debugging, it crashes for some reason and I cannot catch this moment. I have a possibility to attach to the running process with another GDB, but it does not help. Perhaps, there is some way to catch some system exception or something similar? > > I'm using a litle bit complex setup, so there is no much freedom (at least I cannot simplify the situation). First, I'm debugging from Eclipse (and it looks this crash happens only while running from Eclipse, I've tried from commad line - there is no crash). The debugger I'm using is cross-compiled arm-elf-gdb. It is compiled on windows (i686) platform: > GNU gdb (GDB) 6.8.50.20080620 > ... > This GDB was configured as "--host=i686-pc-cygwin --target=arm-elf". > > I doubt this can be linked to GDB version. I recall I've seen this crash earlier with arm-elf-gdb 6.5 from GNUARM. I was just skipped this crash somehow but now I cannot continue my job. > > This arm-elf-gdb is running against skyeye simulator as a remote target. > > As you can see there are many possibilities for mailfunctioning software (Eclipse, GDB, skyeye). But the only way I can find the root cause is to debug the crash in arm-elf-gdb. While crashing it attempts to create the crashdump file, but it is incomplete and Cygwin gdb cannot recognize it. Typically it contains just three lines: > > Stack trace: > Frame Function Args > 0022E268 7C802532 (00000058 > > If attached, Cygwin GDB just reporting me: > Program exited with code 037777777777. > > Is there any way to stop arm-elf-gdb on some critical error? Sounds annoying. You're running on a Windows host, right? Doesn't Windows have some mechanism for automatically catching a program that is crashing, and holding it for the debugger? Like on a Mac? If you can attach to the gdb before the crash, you might try setting breakpoints on exit and _exit, abort, things like that, and see if you can intercept it that way. What about libsegfault? Is something like that available on windows?