This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Problem with multiple threads using gdbserver on x86.
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: ramana at codito dot com
- Cc: gdb at sources dot redhat dot com
- Date: Mon, 23 Jun 2003 08:46:19 -0400
- Subject: Re: Problem with multiple threads using gdbserver on x86.
- References: <1056365816.1389.20.camel@numenor.codito.co.in>
On Mon, Jun 23, 2003 at 04:26:56PM +0530, Ramana Radhakrishnan wrote:
> hi,
>
> this is regarding debugging multi-threaded applications using gdbserver.
> I am facing a weird situation with respect to the same. When i try and
> run gdbserver on a multi-threaded application and try to debug the same,
> gdb is unable to stop all the threads on hitting a breakpoint in one of
> the threads.
>
> the steps i followed are the following.
> $>gdbserver localhost:1234 thr
> $>gdb thr
>
> (gdb) target remote localhost:1234
> Remote debugging using localhost:1234
> 0x40000be0 in ?? ()
>
> (gdb) set remotelogfile logfile
> (gdb) b main
> Breakpoint 1 at 0x80484b0: file thr.c, line 11.
> (gdb) c
> Continuing.
> Ignoring packet error, continuing...
> Ignoring packet error, continuing...
> Ignoring packet error, continuing...
>
> Breakpoint 1, main (argc=1, argv=0xbffff144) at thr.c:11
> 11 printf("Creating...\n");
> (gdb) n
> 12 pthread_create( &id, NULL, work2, ((void*) 0) );
> (gdb) n
> 13 printf("Created thread.\n"); fflush(stdout);
> (gdb) n
> 15 printf("Waiting...\n");
>
>
> At this point in time if i do an info threads the only thread it shows
> me is the main thread though in gdb it shows me both the threads.
> At the same point of time when the main thread is stopped at this
> position the thread which has just been created runs away. !
> and on doing an info threads i do not get the information about the
> newly created thread.
>
> Is this a limitation of gdbserver with respect to kernel space threads.
> I saw the comment in thread-db.c in the function
> thread_db_find_new_threads. which says "iterate" over user space threads
> ??
> The foll. is the information regarding my machine / environment.
>
> RedHat linux 9.0 . gdb v 5.3 gcc version 3.2.2 20030222
> GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
>
>
> I wonder if anyone else is getting a similar problem ..I am attaching
> the 2 files that were used for this purpose.
It works perfectly fine for me. I recommend you ask Red Hat; I know
that gdbserver does not yet support NPTL so it's possible that they
have disabled threading.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer