This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [0/9] Breakpoints at multiple locations
Markus Deuling wrote:
>
>>> Vladimir Prus schrieb:
>>>> Once the library is unloaded, we get:
>>>>
>>>> Num Type Disp Enb Address What
>>>> 1 breakpoint keep y <MULTIPLE>
>>>> breakpoint already hit 2 times
>>>> 1.1 y(p) 0xb7f9856d helper.hpp:4
>>>> 1.2 n(p) 0xb7f98588 helper.hpp:4
>>> Just an idea but for my opinion it would be great to have a hit-counter
>>> per location like:
>>>
>>> Num Type Disp Hit Enb Address What
>>> 1 breakpoint keep 8 y <MULTIPLE>
>>> 1.1 5 y(p) 0xb7f9856d helper.hpp:4
>>> 1.2 3 n(p) 0xb7f98588 helper.hpp:4
>>>
>>> The <MULTIPLE> entity could add up the counts of all locations. This
>>> would also get rid of the annoying "breakpoint already hit xy times"
>>> line :-)
>>>
>>> What do you think?
>>
>> That can possibly be interesting, but how will you handle 'ignore'
>> count then? Should it be per-location, too?
>>
>> I actually don't think those patches are final -- I expect some UI tweaks
>> to be made when this feature is more used.
>
> Hm, after a very-quick-look through breakpoint.c I see no problem in
> moving both ignore_count and hit_count to per-location. I guess it would
> make sense to let these two together and have them in a per-location way.
> This reflects reality best. GDB may want to set different ignore counts to
> different breakpoint locations and count how often a specific location was
> hit.
There's no technical problem doing that. However, I'm not quite sure if this
is good idea in general, and I even less sure what MI frontends might want
to do. Recall that now, I operates in kind of compatibility mode -- it does not list
breakpoint locations at all. So if we change to per-location hit/ignore, we need
to think how to not break MI frontends, and we should think how future MI version
will handle all this.
>
> Maybe thats something to come up with after the initial patch set for your
> multiple location breakpoints are committed.
Definitely, maintaining this all locally is too much work, so tweaking
interface is better done separately.
- Volodya