From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30622 invoked by alias); 13 Aug 2005 00:49:51 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 30615 invoked by uid 22791); 13 Aug 2005 00:49:46 -0000 Received: from eastrmmtao04.cox.net (HELO eastrmmtao04.cox.net) (68.230.240.35) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Sat, 13 Aug 2005 00:49:46 +0000 Received: from white ([68.9.64.121]) by eastrmmtao04.cox.net (InterMail vM.6.01.04.00 201-2131-118-20041027) with ESMTP id <20050813004941.JVLR574.eastrmmtao04.cox.net@white> for ; Fri, 12 Aug 2005 20:49:41 -0400 Received: from bob by white with local (Exim 3.35 #1 (Debian)) id 1E3kDU-0003NY-00 for ; Fri, 12 Aug 2005 20:49:40 -0400 Date: Sat, 13 Aug 2005 01:11:00 -0000 From: Bob Rossi To: gdb-patches@sources.redhat.com Subject: Re: RFC: MI output during program execution Message-ID: <20050813004940.GB11892@white> Mail-Followup-To: gdb-patches@sources.redhat.com References: <20050809223421.GB3557@white> <20050810004128.GA4264@nevyn.them.org> <20050810004826.GD3557@white> <2040BEEA-4200-4118-91EB-D093ED4D37A1@apple.com> <20050812012810.GA10011@white> <20050812114929.GB10917@white> <20050812203052.GA11539@white> <20050812204541.GA30801@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050812204541.GA30801@nevyn.them.org> User-Agent: Mutt/1.3.28i X-SW-Source: 2005-08/txt/msg00149.txt.bz2 On Fri, Aug 12, 2005 at 04:45:41PM -0400, Daniel Jacobowitz wrote: > On Fri, Aug 12, 2005 at 04:30:52PM -0400, Bob Rossi wrote: > > OK, this seems reasonable. One thing to note is that the FE may be in C++ > > or Java, which would lend nicely to the Observer design pattern. CGDB is > > written in C, so this doesn't really matter to me. > > Not relevant here - these are observers _within_ GDB. Wow, I was defiantly confused on what was being talked about here until you pointed this out, thanks. Of course, since I have my FE hat on most of the time, I was thinking that GDB was the Subject (which knew about all it's Observers), and the FE's were the Observers. Now I understand that this solution is all internal to GDB, and the FE really has nothing to do with the problem besides consuming the output of GDB. I believe I understand now. I think you are saying that at certain interesting points in GDB (when it realizes breakpoints have changed, or the inferior changes state), then an event is generated, and the MI (still inside GDB), is the consumer of that event. Is this correct? With this in mind, the way MI gets the data (callbacks, Observer pattern, hooks/events) is what is important, and *not* the way the MI jet's this data to the FE. Is this correct? Thanks, Bob Rossi