This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: How to catch GDB crash
- From: Dmitry Smirnov <divis1969 at mail dot ru>
- To: gdb at sourceware dot org
- Date: Tue, 24 Jun 2008 12:51:36 +0400
- Subject: Re: How to catch GDB crash
- Reply-to: Dmitry Smirnov <divis1969 at mail dot ru>
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 <symbol is not available> 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