From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 62636 invoked by alias); 19 Jan 2017 16:03:35 -0000 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 Received: (qmail 62529 invoked by uid 89); 19 Jan 2017 16:03:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=AWL,BAYES_20,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM autolearn=no version=3.3.2 spammy=H*p:D*net, accurately, reimplement, re-create X-HELO: mail-pg0-f43.google.com Received: from mail-pg0-f43.google.com (HELO mail-pg0-f43.google.com) (74.125.83.43) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 19 Jan 2017 16:03:23 +0000 Received: by mail-pg0-f43.google.com with SMTP id t6so15227307pgt.3 for ; Thu, 19 Jan 2017 08:03:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=6mNex3kOBequTD1UuHDs4bHvKvUqKWFjtwzOuc/us+o=; b=BizlGSA+vEjadexkFsorC5RiPNb1UfvAH+Nffkta6mDAHFdLnsKMOXMAjALmawP+oO ASXVQwsoSJ4VHMAKiE4711/0/Vh2c56jWcFlcopnzWjAfTZnOEdVvcP2nRxX92Nb6uH2 tcbSHvexqUqa8/SvoWOA87l+pmuA7HVI63XY9RVeEaegGfX4J1xRpcAtm2g+Sf5RGeH4 LGPND8avo/RI4N23j0S3fHnHSYfQx9eGyU7MKb00WG372wHMStYGMgvEJOXsNilFwfhg p0ff9vy01alxcyhy/tfHLOx969dw99Q1RUbqHkX10uyr5YHjYwDcHv0rCd3h2tInBi0I go3w== X-Gm-Message-State: AIkVDXLO6v5+TW6lTdIFn7c4UKpZsf5rvr1/F6NOMxt0PzHgHoId8XfcS/rDvz8rn70e3g== X-Received: by 10.99.19.65 with SMTP id 1mr11083885pgt.153.1484841801611; Thu, 19 Jan 2017 08:03:21 -0800 (PST) Received: from xubuntu.brasko.net (ip70-181-32-92.ri.ri.cox.net. [70.181.32.92]) by smtp.gmail.com with ESMTPSA id p2sm10027751pgd.17.2017.01.19.08.03.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Jan 2017 08:03:21 -0800 (PST) Date: Thu, 19 Jan 2017 16:03:00 -0000 From: Bob Rossi To: Simon Marchi Cc: Marc Khouzam , gdb@sourceware.org Subject: Re: GDB/MI questions Message-ID: <20170119160318.GD6289@xubuntu.brasko.net> References: <20170119031445.GA24616@xubuntu.brasko.net> <20170119151120.GB6289@xubuntu.brasko.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-IsSubscribed: yes X-SW-Source: 2017-01/txt/msg00037.txt.bz2 On Thu, Jan 19, 2017 at 10:47:21AM -0500, Simon Marchi wrote: > On 2017-01-19 10:11, Bob Rossi wrote: > >I'm just trying to provide the same functionality I did when I was using > >annotations. This was one of the noted differences. > > > >Since the MI differs in this area, I've done as you suggested and > >that works well. I guess I'll see if there are any downsides here. > > > >Thanks, > >Bob Rossi > > From experience (I'd like to be proven wrong), it will be very difficult to > accurately re-create the gdb console "experience" when using MI. The > commands that should or should not repeat is just one example. Consider > history, tab completion, readline bindings (e.g. ctrl-R), pagination, etc. > How does that work with the MI version of cgdb? CGDB links to readline so the interaction is all very similar. > If I understand correctly how annotations work, when the user types, they > are interacting directly with gdb. So when they press tab to get a > completion, it's handled by gdb. With MI, the user interacts with the > front-end, which in turns talk to gdb. So the front-end would have to > re-implement all those features. Yes, CGDB has supported tab completion for a long time. > This is why gdb has this "new-ui" command that Pedro mentioned. Instead of > trying to emulate a gdb console, the front-end can start GDB in standard > console mode (redirecting its i/o to an embedded terminal emulator) and open > a channel on the side with new-ui for MI commands. This way, when using the > console, the user interacts directly with gdb, and gets the real console > experience. I might give that a try. However, since CGDB already has great terminal emulation, it's not a huge deal. The other downside is, CGDB works with lots of GDB's. Using this feature leaves behind many GDBs. Or I'd have to support two modes. Yuck. Thanks, Bob Rossi