does bpstat_print stop printing prematurely?

Doug Evans dje@transmeta.com
Mon Apr 15 13:03:00 GMT 2002


Does bpstat_print stop printing prematurely?  I think it does.

  for (; bs; bs = bs->next)
    {
      val = print_bp_stop_message (bs);
      if (val == PRINT_SRC_ONLY 
	  || val == PRINT_SRC_AND_LOC 
	  || val == PRINT_NOTHING)
	return val;
    }

What if there is 1 breakpoint that triggers and two watchpoints?

As a user, whenever execution stops I'd kinda like to know which
of all of my active watchpoints triggered without having to
manually examine each one.

Things are even more confusing if gdb prints some but not all
of the triggering watchpoints.

Example: Suppose the `bs' arg to bpstat_print contains a watchpoint,
a pc breakpoint, and another watchpoint, in that order.

Currently bpstat_print will print the first watchpoint and the
pc breakpoint but not the second watchpoint.  Blech.

I'll file a pr unless something can rationalize the current behaviour.



More information about the Gdb mailing list