[Top] [All Lists]

Help needed WRT GDB and multithreaded programs.

Subject: Help needed WRT GDB and multithreaded programs.
From: David Daney <>
Date: Tue, 28 Oct 2003 15:46:39 -0800
Original-recipient: rfc822;
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021130
A question about debugging user space programs on a mips/linux system:

I'm fairly sure that this problem has been encountered before and hope someone can help me solve it.

I am running linux 2.4.18 on a MIPS 4Kc core with all tools configured as mipsel-linux, with glibc-2.2.4 and the corresponding version of pthreads.

When using GDB 5.3 I get strange errors and am basically not able to debug multi-threaded programs. For example any java program compiled with GCC/GCJ runs in multiple threads and does something like this:

# gdb PR218
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "mipsel-linux"...
(gdb) b main
Breakpoint 1 at 0x400dec: file /tmp/ccr0H72i.i, line 10.
(gdb) c
The program is not being run.
(gdb) run
Starting program: /junk/PR218
[New Thread 1024 (LWP 103)]

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 1024 (LWP 103)]
0x00000000 in ?? ()

At this point no further debugging is possible.

If I attach to a particular thread after the program is started I can do some debugging, but that is inferior to having it work properly.

Q:  Has anyone else seen this type of behavior from GDB?

Q:  What is the solution?

Thanks in advance
David Daney.

<Prev in Thread] Current Thread [Next in Thread>