Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Carmelo Amoroso <carmelo73@gmail.com>
To: Michael Snyder <Michael.Snyder@palmsource.com>
Cc: gdb@sourceware.org
Subject: Re: howto debug libthread_db
Date: Wed, 27 Sep 2006 06:21:00 -0000	[thread overview]
Message-ID: <451A18E9.9070500@gmail.com> (raw)
In-Reply-To: <1159294840.24808.76.camel@localhost.localdomain>

Michael Snyder wrote:
> On Tue, 2006-09-26 at 16:06 +0200, Carmelo Amoroso wrote:
>> Hi All,
>> I'm trying to debug a simple multithread application on a remote target,
>> and I like to debug the libthread_db itself... is it possible to do it? 
>> is it possible to set some breakpoints and stepping through?
>> Is there anyone already played with it?
>>
>> I tried to use symbol-file to gdb client, and I successfully added a 
>> breakpoint, but I cannot reach it after I connected to the target and 
>> issued 'continue'.
>>
>> Any help will be appreciated
> 
> Interesting.  I haven't done it (or not much anyway).
> 
> The first thing you must bear in mind is that libthread_db is not
> part of the target application -- it is part of gdb (or in the
> remote debugging context, part of gdbserver).  So to debug it, 
> you must debug gdb, or in your case gdbserver.
> 
Yes. it's what I want to do
> It might be easier if you try this out first using a native gdb, 
> debugging itself.  
> 
> When you debug gdb with gdb, it is easier if you change the prompt.
> I usually do this in the 'parent' gdb, so I can tell it apart from
> the 'child' gdb:
> 
> 	(gdb) set prompt (GDB) 
> 	(GDB) 
> 
> Now, in the parent GDB, you should be able to set your 
> breakpoints in libthread_db, then start the child gdb, 
> load the multi-threaded program, and begin debugging it.
> 
Does the native gdb use the thread_db as the gdbserver does?
I was thinking to run gdb --args my-gdbserver <application>
ont the target, and connect to the my-gdbserver from the host
just to trigger the thread_db initialization process.
Comments?

> When you get ready to try this with gdbserver, you will
> have to start one gdbserver and attach to it with another
> gdbserver.  Then you'll again have two gdbs running on the
> host side, which you can again think of as parent and child, 
> only now the parent is debugging the child's gdbserver, not
> the child gdb itself.
> 

Well, just before reading your reply, I tried with this:

target:
gdbserver localhost:999 my-gdbserver localhost:998 <applcation>

host:
xxx-gdb my-gdbserver (connecting to port 999)

xxx-gdb application (connecting to port 998)

Wit the first gdb session I was able to set a breakpoint into thread_db,
but not able to stepping through the code.

Is this approach as well as the gdb native session.

Btw, I'll try again (both the native and the remote technique)

Thanks a lot

Carmelo


  parent reply	other threads:[~2006-09-27  6:21 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-26 14:05 Carmelo Amoroso
2006-09-26 14:07 ` Daniel Jacobowitz
2006-09-26 14:24   ` Carmelo Amoroso
2006-09-26 18:20 ` Michael Snyder
2006-09-26 22:26   ` Andreas Schwab
2006-09-27  6:21     ` Carmelo Amoroso
2006-09-27 18:11       ` Michael Snyder
2006-09-27  6:21   ` Carmelo Amoroso [this message]
2006-09-27 18:15     ` Michael Snyder
2006-09-27 21:02       ` Carmelo Amoroso
2006-09-29  9:08         ` Carmelo Amoroso
2006-09-29 18:12           ` Michael Snyder
2006-09-30 16:46             ` Carmelo Amoroso
2006-10-02 18:07               ` Michael Snyder

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=451A18E9.9070500@gmail.com \
    --to=carmelo73@gmail.com \
    --cc=Michael.Snyder@palmsource.com \
    --cc=gdb@sourceware.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox