From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19858 invoked by alias); 26 Sep 2006 18:20:47 -0000 Received: (qmail 19850 invoked by uid 22791); 26 Sep 2006 18:20:46 -0000 X-Spam-Check-By: sourceware.org Received: from mx2.palmsource.com (HELO mx2.palmsource.com) (12.7.175.14) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 26 Sep 2006 18:20:44 +0000 Received: from localhost (localhost [127.0.0.1]) by localhost.domain.tld (Postfix) with ESMTP id B67D326CBF; Tue, 26 Sep 2006 11:20:42 -0700 (PDT) Received: from mx2.palmsource.com ([127.0.0.1]) by localhost (mx2.palmsource.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 00766-01-26; Tue, 26 Sep 2006 11:20:41 -0700 (PDT) Received: from ussunex01.palmsource.com (unknown [192.168.101.9]) by mx2.palmsource.com (Postfix) with ESMTP id C89A826C9D; Tue, 26 Sep 2006 11:20:41 -0700 (PDT) Received: from 192.168.92.59 ([192.168.92.59]) by ussunex01.palmsource.com ([192.168.101.9]) via Exchange Front-End Server owa.palmsource.com ([10.0.20.17]) with Microsoft Exchange Server HTTP-DAV ; Tue, 26 Sep 2006 18:20:41 +0000 Received: from svmsnyderlnx by owa.palmsource.com; 26 Sep 2006 11:20:40 -0700 Subject: Re: howto debug libthread_db From: Michael Snyder To: carmelo73@gmail.com Cc: gdb@sourceware.org In-Reply-To: <45193401.7000502@gmail.com> References: <45193401.7000502@gmail.com> Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Tue, 26 Sep 2006 18:20:00 -0000 Message-Id: <1159294840.24808.76.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.4.1 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-09/txt/msg00154.txt.bz2 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. 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. 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.