This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR8554: New command to save breakpoints to a file


On Friday 09 April 2010 17:17:31, Tom Tromey wrote:
> >>>>> "Pedro" == Pedro Alves <pedro@codesourcery.com> writes:
> 
> Pedro> (I finished this instead of dumping it.)
> 
> Thanks.  I do like this approach.
> 
> Pedro> Add a new save-breakpoints command to save breakpoint definitions
> Pedro> to a file.
> 
> I'd personally prefer "save breakpoints", with a space, and make
> save-tracepoints a deprecated alias for "save tracepoints".  What do you
> (and others) think of this?  I tend to like simple commands with spaces,
> especially when a subcommand comes along.

Fine with me.

> Pedro> The new breakpoint_ops->print_recreate method implementation for
> Pedro> all catchpoints is always mostly a simplified version of
> Pedro> breakpoint_ops->print_mention method.
> 
> Could you enlighten me on a historical (?) point?  Why is it that some
> kinds of breakpoints have methods like this and some do not?  Is this an
> incomplete transition, or an intentional design choice?

I think the former.  breakpoint_ops was added initialy for some
catchpoints in 2003.  I wasn't around then.

> 
> Pedro> +    if (tp->thread != -1)
> Pedro> +      fprintf_unfiltered (fp, " thread %d", tp->thread);
> Pedro> +
> Pedro> +    if (tp->task != 0)
> Pedro> +      fprintf_unfiltered (fp, " task %d", tp->task);
> Pedro> +
> Pedro>      if (tp->cond_string)
> Pedro>        fprintf_unfiltered (fp, " if %s", tp->cond_string);
> 
> I don't think this syntax will work for a conditional catchpoint.
> Our Python-based implementation gets this wrong as well.  I think you
> need a separate "cond" command in the output.

You're right.  It works for breakpoints, but not for other types:

 (top-gdb) b main thread 1 if 0
 Breakpoint 4 at 0x4572b3: file ../../src/gdb/gdb.c, line 28.
 (top-gdb) watch main thread 1 if 0
 Junk at end of command.

The `b *0xaddr thread 1 if 0' syntax may not work for
some languages.

I'll post an updated patch, once I update it.  :-)

-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]