From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14583 invoked by alias); 4 Feb 2011 16:33:09 -0000 Received: (qmail 14566 invoked by uid 22791); 4 Feb 2011 16:33:08 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 04 Feb 2011 16:33:03 +0000 Received: (qmail 7693 invoked from network); 4 Feb 2011 16:33:02 -0000 Received: from unknown (HELO caradoc.them.org) (dan@127.0.0.2) by mail.codesourcery.com with ESMTPA; 4 Feb 2011 16:33:02 -0000 Date: Fri, 04 Feb 2011 16:33:00 -0000 From: Daniel Jacobowitz To: Maxim Grigoriev Cc: Joel Brobecker , "gdb-patches@sourceware.org" , Marc Gauthier , Maxim Grigoriev Subject: Re: Faster stepping amidst breakpoints Message-ID: <20110204163256.GA23626@caradoc.them.org> Mail-Followup-To: Maxim Grigoriev , Joel Brobecker , "gdb-patches@sourceware.org" , Marc Gauthier , Maxim Grigoriev References: <4D3A114D.7010301@tensilica.com> <20110123001433.GA6352@caradoc.them.org> <20110131044951.GG2384@adacore.com> <4D4B31F4.7040407@tensilica.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D4B31F4.7040407@tensilica.com> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-02/txt/msg00070.txt.bz2 On Thu, Feb 03, 2011 at 02:53:40PM -0800, Maxim Grigoriev wrote: > 2) I think in the embedded-system world it does matter > when crashing / detaching GDB leaves target memory > and/or registers changed. Yes - if your agent does breakpoint management using z/Z, then it has the opportunity to clean up as long as the agent doesn't crash. IMO that's a reasonable expectation; if the agent crashes, your target is probably in an unrecoverable state anyway. > What I meant was a target agent, which can > > -- realize it's about to single-step over an inserted > breakpoint and then handle it properly ; > > -- watch out for shutting-down GDB communications, > while counting time-outs, and then return target to the > reliable state essentially making GDB non-intrusive. I suggest separating these and dealing with them as separate concerns. A related issue is watchpoints; different agents (and SoCs) handle the current instruction after hitting a watchpoint differently. For instance, GDB assumes all MIPS targets have nonsteppable watchpoints and we have one where that's clearly not true... -- Daniel Jacobowitz CodeSourcery