This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: does bpstat_print stop printing prematurely?
- From: Andrew Cagney <ac131313 at cygnus dot com>
- To: Doug Evans <dje at transmeta dot com>
- Cc: Eli Zaretskii <eliz at is dot elta dot co dot il>, gdb at sources dot redhat dot com
- Date: Thu, 09 May 2002 23:44:22 -0400
- Subject: Re: does bpstat_print stop printing prematurely?
- References: <200204152003.NAA11126@casey.transmeta.com> <Pine.SUN.3.91.1020416084918.14169B-100000@is> <15547.51222.125386.852824@casey.transmeta.com> <4060-Tue16Apr2002154926+0300-eliz@is.elta.co.il> <15548.25669.770292.567059@casey.transmeta.com>
> > Assuming one decides to print all breakpoints, either move the
> > control for source/frame printing into bpstat_print or pull
> > the loop in bpstat_print into normal_stop().
>
> Hmmm... another possibility is to do neither.
> Instead, with the preprocessing pass in bpstat_print one
> could early exit if printit_done is found, otherwise print
> all the non-pc breakpoints first, then print all the pc-breakpoints last,
> and then return one of `print_stop_action'.
>
> That's requires a minimal amount of change and feels safest.
> The only issue is whether programs that parse the output would
> get confused if multiple pc breakpoints get reported.
> The source location would still only be printed once so I'm guessing
> it's ok, but someone with some knowledge of all the various
> programs that parse the output should be consulted.
Hmm,
Yes, I agree with the comment about not reporting multiple watchpoint
trigers is a bug. As for breakpoints, normal behavour is to just report
the first real breakpoint - you've previously been advised that you've
multiple breakpoints and I'm guessing this [unfortunatly] is behind the
early loop exit.
The functions that handle bpstat are in bad shape anyway. One function
should analyze the stop reason creating the list. A second function
should use this list to decide what to print. MI needs this separation
to be able to report stop events reliably.
Anyway, suggest at least bug-reporting it.
Andrew