From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6632 invoked by alias); 24 Jun 2008 08:52:04 -0000 Received: (qmail 6624 invoked by uid 22791); 24 Jun 2008 08:52:03 -0000 X-Spam-Check-By: sourceware.org Received: from f171.mail.ru (HELO f171.mail.ru) (194.67.57.161) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 24 Jun 2008 08:51:39 +0000 Received: from mail by f171.mail.ru with local id 1KB4FU-0005Y9-00 for gdb@sourceware.org; Tue, 24 Jun 2008 12:51:36 +0400 Received: from [212.92.145.7] by win.mail.ru with HTTP; Tue, 24 Jun 2008 12:51:36 +0400 From: Dmitry Smirnov To: gdb@sourceware.org Subject: =?koi8-r?Q?Re=3A_How_to_catch_GDB_crash?= Mime-Version: 1.0 X-Mailer: mPOP Web-Mail 2.19 Date: Tue, 24 Jun 2008 08:52:00 -0000 Reply-To: Dmitry Smirnov Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Message-Id: X-Spam: Not detected 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/msg00236.txt.bz2 Hi, I'm sorry guys, but I believe we are going wrong way. First, I suppose I do not need JIT: as I said, I can attach to the running arm-elf-gdb before the crash. I supposed that GDB is smart enough to catch system exceptions. Moreover, I have some indication of that: my skyeye is Cygwin-compiled program and when I run it in Eclipse (which uses Cygwin GDB as a debugger for this program), I can see the follwing stack: ----------------- Skyeye_1.2.4 Cygwin GCC [C/C++ Local Application] Cygwin gdb Debugger (23.06.08 20:12) (Suspended) Thread [1] (Suspended: Signal 'SIGSEGV' received. Description: Segmentation fault.) 3 RpcRaiseException() 0x77ea27ea 2 h_errno() 0x662b7258 1 0x00000000 Thread [2] (Suspended) gdb (23.06.08 20:12) D:\Dvs\Project\Skyeye_1.2.4\binary\skyeye.exe (23.06.08 20:12) ---------------------- Here is the stack of command-line GDB: ---------------------- Program received signal SIGSEGV, Segmentation fault. 0x77ea27ea in RpcRaiseException () from /c/WINDOWS/system32/rpcrt4.dll (gdb) info stack #0 0x77ea27ea in RpcRaiseException () from /c/WINDOWS/system32/rpcrt4.dll #1 0x662b7258 in h_errno () from /c/WINDOWS/system32/hnetcfg.dll #2 0x00000000 in ?? () from ------------------------ I'm 99% sure that Cygwin GDB can intersept these sygnals. Am I wrong? Perhaps this a Cygwin_libs-generated signal? Second, as I mentioned in first mail, someone is trying to save the crashdump file. Who's that guy? Why it fails to save? Can I set a breakpoint just before he starts to save (e.g. when it detects the crash)? Is it possible that arm-elf-gdb itself is handling some signals thus preventing Cygwin GDB from handling it? Where is that code? Dmitry