[Gdb] GDB multithread coredump only shows valid state for one thread?
From:
Charles Lindsay
Subject:
[Gdb] GDB multithread coredump only shows valid state for one thread?
Date:
Tue, 1 Aug 2006 14:03:47 -0400
Hi,
I'm not sure whether this properly belongs on the GDB, NPTL or Linux mailing lists.
I have a multi-threaded application which generates a core file. GDB apparently understands the core file well enough to know that there are two threads involved,
and interpret the state of the one thread (i.e. "backtrace" and "info reg" works fine) but doesn't seem to be able to determine the register set/stack of the other thread. (see below for example GDB output)
If I run the application under GDB, I can breakpoint and see the state of all threads without difficulty.
GNU gdb 6.5.0.20060626-cvs
Linux 2.6.13-1.1532_FC4 SMP i686 i686 i386 GNU/Linux
gcc version 4.0.2 20051125 (Red Hat 4.0.2-8) libc-2.3.6.so
Is this problem familiar to anyone? Have you any suggestions? Is there some configuration directive I need to enable? Can you tell me how to determine whether the core file just doesn't contain the register values for the "other" thread,
or whether GDB doesn't know how to extract them?
Thanks.
Objdump seems to see multiple register sets (if I understand it, although I don't know how to interpret them):