From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19341 invoked by alias); 16 Nov 2005 00:40:11 -0000 Received: (qmail 19300 invoked by uid 22791); 16 Nov 2005 00:40:09 -0000 Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Wed, 16 Nov 2005 00:40:09 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1EcBLK-0006ln-Ro; Tue, 15 Nov 2005 19:40:06 -0500 Date: Wed, 16 Nov 2005 00:40:00 -0000 From: Daniel Jacobowitz To: Donny Kurniawan Cc: gdb@sources.redhat.com Subject: Re: libGDB and gdbserver questions Message-ID: <20051116004006.GB25895@nevyn.them.org> Mail-Followup-To: Donny Kurniawan , gdb@sources.redhat.com References: <20051115141835.GA21125@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.8i 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: 2005-11/txt/msg00307.txt.bz2 On Wed, Nov 16, 2005 at 10:45:06AM +1100, Donny Kurniawan wrote: > > This isn't the problem. Extending the GDB native backend to handle > > multiple processes wouldn't be hard; it's extending the user interface > > and process control and breakpoint management and shared library > > support and so on to handle multiple processes that is difficult. > > > > GDB simply doesn't support what you want to do. Yet. > > > > I do suspect that there are some "managers" (breakpoint manager, > stepping manager etc.) somewhere in GDB. Well, it can be clearly seen > that the UI (text UI, curses, etc.) doesn't support multiple > processes. But, from your reply (just to reconfirm), you are saying > that the managers themselves are not easily extended to support > multiple processes? None of GDB supports multiple processes. Presenting them as threads would work with a sufficiently clever stub, but be very inefficient. For instance, a breakpoint would have to be manually inserted into each one of them. GDB also does not have any notion of "thread-specific" memory - if your processes don't share memory, then getting GDB to read the correct thread's memory will be hard. -- Daniel Jacobowitz CodeSourcery, LLC