From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 842 invoked by alias); 10 Sep 2010 23:07:26 -0000 Received: (qmail 819 invoked by uid 22791); 10 Sep 2010 23:07:26 -0000 X-SWARE-Spam-Status: No, hits=-2.0 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, 10 Sep 2010 23:07:19 +0000 Received: (qmail 1655 invoked from network); 10 Sep 2010 23:07:17 -0000 Received: from unknown (HELO macbook-2.local) (stan@127.0.0.2) by mail.codesourcery.com with ESMTPA; 10 Sep 2010 23:07:17 -0000 Message-ID: <4C8ABA20.3010701@codesourcery.com> Date: Fri, 10 Sep 2010 23:07:00 -0000 From: Stan Shebs User-Agent: Thunderbird 2.0.0.24 (Macintosh/20100228) MIME-Version: 1.0 To: Tom Tromey CC: GDB Development Subject: Re: multi-{inferior,exec} References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 X-SW-Source: 2010-09/txt/msg00071.txt.bz2 Tom Tromey wrote: > Another use case would be putting a breakpoint on a particular function, > say from some kind of symbol view. After some reflection, I think the > solution in this case lies in a linespec extension, not in I/T sets. In > particular: > > break [*] #libsomething.so#function > The '#' syntax is in the old spec actually, you even commented about it in http://sourceware.org/ml/gdb/2008-08/msg00177.html :-) > > I also looked into another idea we discussed -- having a kind of > meta-breakpoint for I/T sets that sets new concrete breakpoints when the > appropriate events occur. > > This means associating new metadata with a new kind of breakpoint and > coming up with a new command name. This seems like more work, for a > result that is not as nice to use. > What I've been doing for now for global breakpoints is to add the quasi-i/t set as another attribute of a breakpoint, a la thread or cond_string. This then is both interpreted by GDB, for processes that are currently under GDB's control, and passed to a kernel module that is monitoring all other processes for hits. Stan