From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24156 invoked by alias); 3 Jan 2003 17:07:27 -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 24149 invoked from network); 3 Jan 2003 17:07:26 -0000 Received: from unknown (HELO duracef.shout.net) (204.253.184.12) by 209.249.29.67 with SMTP; 3 Jan 2003 17:07:26 -0000 Received: (from mec@localhost) by duracef.shout.net (8.11.6/8.11.6) id h03H78515685; Fri, 3 Jan 2003 11:07:08 -0600 Date: Fri, 03 Jan 2003 17:07:00 -0000 From: Michael Elizabeth Chastain Message-Id: <200301031707.h03H78515685@duracef.shout.net> To: ezannoni@redhat.com, msnyder@redhat.com Subject: Re: [RFA/PATCH] breakpoint.c: fix until command Cc: drow@mvista.com, gdb-patches@sources.redhat.com X-SW-Source: 2003-01/txt/msg00069.txt.bz2 My proposal for the behavior matrix is: until: continue until any source line > the current source line is reached, in the current stack frame, or the current stack frame pops, whichever comes first. until LOCATION: a. LOCATION is in current function: continue until $PC == LINE in the current stack frame, or the current stack frame pops, whichever comes first. b. LOCATION not in current function: error In the 'until LOCATION' case, I guess it's okay for the user to be on line 70 and ask to continue 'until line 65'. The user is expecting the program to get to line 65 and they are probably right. I don't want to say "for every command line, choose some behavior and implement it". That leads to a bunch of quirky non-orthogonal commands. I want to say "for everything we can imagine the user doing, provide one simple way to do it." In Elena's matrix: until funcname: d. funcname called from current frame (2) --> continue until func is reached e. funcname not called from current frame --> cont until current frame pops. There is already a way to do almost exactly this in gdb: tbreak funcname finish If we had a user-accessible 'mbreak' command for momentary breakpoints, then this would be identical: mbreak funcname finish Judging by the November thread, most people really want to have 'until LOCATION' always do something, even when LOCATION is not in the current frame. I really think it should give an error in that case. Michael C