From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14538 invoked by alias); 9 Apr 2010 13:04:42 -0000 Received: (qmail 14255 invoked by uid 22791); 9 Apr 2010 13:04:40 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.alyotech.fr (HELO mail.alyotech.fr) (86.66.40.180) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 09 Apr 2010 13:04:33 +0000 Received: from AVE02.alyotech.fr (192.168.177.125) by mail.alyotech.fr (192.168.177.80) with Microsoft SMTP Server (TLS) id 8.2.247.2; Fri, 9 Apr 2010 14:58:30 +0200 Received: from ARE01.alyotech.fr (192.168.35.102) by AVE02.alyotech.fr (192.168.7.2) with Microsoft SMTP Server (TLS) id 8.2.247.2; Fri, 9 Apr 2010 15:04:30 +0200 Received: from ARE01.alyotech.fr ([192.168.35.102]) by ARE01.alyotech.fr ([192.168.35.102]) with mapi; Fri, 9 Apr 2010 15:04:29 +0200 From: PILLON Julien To: Paul Koning , "gdb@sourceware.org" Date: Fri, 09 Apr 2010 13:04:00 -0000 Subject: RE : User level threads debugging with GDB Message-ID: <06A7AD4E92172446ADDEB44F8A5D5C101CA8246BF0@ARE01.alyotech.fr> References: <06A7AD4E92172446ADDEB44F8A5D5C101CA8246BEE@ARE01.alyotech.fr>, In-Reply-To: Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2010-04/txt/msg00031.txt.bz2 Thank you for your answer.=20 The fact is that I don't want to make big modification to GDB... So I think= I'll go on implementing a libthread_db (with this method, it will be comp= atible with future (and previous ?) versions of GDB ) So if I've understood well, if my implementation (td_ta_new, td_thr_get*reg= s) is correct, the stack printing will be ok with a out of the box GDB ? And will the atttach mode be ok too or is there some special work to do ? Julien ________________________________________ De : Paul Koning [Paul_Koning@Dell.com] Date d'envoi : vendredi 9 avril 2010 12:49 =C0 : PILLON Julien; gdb@sourceware.org Objet : RE: User level threads debugging with GDB I've just gone through this for NetBSD... If your platform has a libthread_db then it seems sensible to use that and interface GDB to it, as Linux does (or can do; it doesn't seem to do it in all cases). If not, then you don't need to create one. Some existing files offer various pieces of the answer that you can use. For example, dec-threads.c is short and simple but not necessarily a complete answer. linux-nat.c is very helpful but a bunch of what it does exists because of extra work needed on Linux. Stack printing relies on the register access routines; those have to work per thread. If they do then the rest just works. I found the main changes were in the "wait" and "resume" routines. In "wait" because after the wait finishes you want to get the list of threads and their status, and use the GDB routines that update GDB's list of threads. In "resume" because you need to be able to step and continue a single thread as well as all threads. For any given platform, I expect that you'll find parts of the answer in several of the existing threads support files, but probably not the whole answer in any one of them. paul > -----Original Message----- > From: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On > Behalf Of PILLON Julien > Sent: Friday, April 09, 2010 4:13 AM > To: gdb@sourceware.org > Subject: User level threads debugging with GDB > > Hi, > I would like to know the right way to do some user-level threads > debugging with GDB and I have a few questions : > First, the main work will be within the libthread_db (especially in the > td_ta_new function I guess) but what else must be modified and what can > be left as is ? > Next, how should I implement the stack printing ? > Is the attach mode altered with this kind of modifications ? And if it > is, where are the sources to modify ? > > regards > > Julien