All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Clark <jclark@metricsystems.com>
To: Robert Hancock <hancockr@shaw.ca>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: GDB, pthreads, and kernel threads
Date: Thu, 19 May 2005 09:22:59 -0700	[thread overview]
Message-ID: <428CBD63.8020704@metricsystems.com> (raw)
In-Reply-To: <428BDA56.5030502@shaw.ca>

Robert Hancock wrote:

> John Clark wrote:
>
>> I built the latest GDB-6.3, as well as rebuilt glibc-2.3.5, and now 
>> when I step through the
>> main code line, which creates the tasks (I'm using the pthreads.c 
>> from the GDB testsuite), I do
>> not getany output from:
>>
>> info threads
>>
>> When I set a break point on the entry point of one of the 
>> soon-to-be-created threads,
>> I get a diagnostic message:
>>
>> Program terminated with signal SIGTRAP, Trace/Breakpoint trap.
>> The program no longer exists.
>
>
> Are you sure your glibc and gdb were both configured to support 
> threads when they were compiled?


The application that I'm working with 'works', in the sense that when I 
do a 'ps' there are several processes
listed under the app name, corresponding to the created threads.

When I run gdb with the app, it does load /lib/libthread_db.so.1, so my 
presumption here is that gdb has
been thread enabled.

Since the app is pretty portable, and I've been using NetBSD to develop 
co-develop it, I can run gdb
on the NetBSD side, and 'things' seem to work better. There are still 
some wyrd operational issues
on the NetBSD, but at least when I set a break point in a thread, it 
works, and when I do a
'info threads' command to gdb, it gives a reasonable out put of the list 
of threads. Since the NetBSD
implementation of threads is 'new' to the kernel, I do expect some problems.

Now, because the thread implementation is different between NetBSD and 
Linux, and it seems that Linux
creates distinct 'processes' for the threads, I'm wondering if I have 
not correctly configured my kernel,
or if there is something special one has to do to allow gdb to write to 
one of the created thread processes.

Also, I do believe I'm using the NPTL package for threads. Is there a 
way to absolutely tell without
question?

Thanks
John Clark




  parent reply	other threads:[~2005-05-19 16:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <45k9a-7DD-11@gated-at.bofh.it>
     [not found] ` <45xIX-2bR-31@gated-at.bofh.it>
     [not found]   ` <45zKO-3RV-45@gated-at.bofh.it>
2005-05-19  0:14     ` GDB, pthreads, and kernel threads Robert Hancock
2005-05-19  0:36       ` Ajay Patel
2005-05-19 16:22       ` John Clark [this message]
2005-05-19 16:52         ` Douglas McNaught
2005-05-19 17:27           ` John Clark
2005-05-19 17:02         ` Ajay Patel
2005-05-17 23:37 John Clark
2005-05-18 14:01 ` Nix
2005-05-18 15:53   ` John Clark

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=428CBD63.8020704@metricsystems.com \
    --to=jclark@metricsystems.com \
    --cc=hancockr@shaw.ca \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.