From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5176 invoked by alias); 26 Jul 2004 21:24:53 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 5166 invoked from network); 26 Jul 2004 21:24:53 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 26 Jul 2004 21:24:53 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i6QLOqe3005550 for ; Mon, 26 Jul 2004 17:24:52 -0400 Received: from localhost.redhat.com (porkchop.devel.redhat.com [172.16.58.2]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i6QLOna05588; Mon, 26 Jul 2004 17:24:50 -0400 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id E78FE2B9D; Mon, 26 Jul 2004 17:24:44 -0400 (EDT) Message-ID: <4105769C.4010805@gnu.org> Date: Mon, 26 Jul 2004 21:31:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-GB; rv:1.4.1) Gecko/20040217 MIME-Version: 1.0 To: Nick Roberts Cc: Alain Magloire , Jason Molenda , gdb@sources.redhat.com Subject: Re: How does GDB/MI give the current frame References: <28ADB7D6-D69A-11D8-BBF3-000A9569836A@apple.com> <200407161404.KAA02192@smtp.ott.qnx.com> <16634.57026.336517.649623@nick.uklinux.net> In-Reply-To: <16634.57026.336517.649623@nick.uklinux.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-07/txt/msg00334.txt.bz2 > > > For what it's worth, at Apple we've done what Andrew is proposing. Our > > > method spits out a "MI_HOOK_RESULT" notification on the ^done result > > > whenever the console command entered by the user has changed the state > > > in an important way. e.g. > > > > > > (gdb) > > > -interpreter-exec console-quoted up > > > ~"#2 0x000321f4 in gdb_main (args=0xbffff620) at > > > ../../gdb/src/gdb/main.c:851\n" > > > ~"851\t catch_errors (captured_main, args, \"\", RETURN_MASK_ALL);\n" > > > ^done,MI_HOOK_RESULT=[HOOK_TYPE="frame_changed",frame="2"],time= > > > {wallclock="0.00620",user="0.00323",system="0.00283",start="1089921236.3 > > > 59009",end="1089921236.365212"} > > > (gdb) > > > > > > > But what Andrew is proposing is to use the async-output already part of MI to notify > > the UI of changes. > > Wouldn't the output from "up" would be synchronous? I thought asynchronous output > only occurs when the inferior is actually running. Moving forward, that won't be a good assumption. Of the top of my head: - part of the inferior is still running - something else also connected to gdb asks gdb to do an "up" (see moto's question about flushing gdb's internal state when the system is stopped and hence shouldn't need a flush.) Andrew