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: [PATCH] Teach "info breakpoints" to show the address of a -location watchpoint


On Tue, Mar 29, 2016 at 3:40 PM, Pedro Alves <palves@redhat.com> wrote:
> On 03/26/2016 05:34 PM, Patrick Palka wrote:
>> Currently the "info breakpoints" command leaves empty the Address column
>> corresponding to a -location watchpoint, even though there is an address
>> internally tied to this watchpoint.  Instead of printing nothing, this
>> patch makes the type and the computed address of the -location
>> watchpoint get printed.  Conviently the exp_string_reparse already has a
>> pretty-printed string that contains this information.
>>
>> The new output of "info breakpoints" looks something like:
>>
>> Num     Type           Disp Enb Address            What
>> 2       hw watchpoint  keep y   (tree_code *) 0x00007ffff7ff4990 -location decl.base.code
>>
>
> Hmm, isn't this going to look more awkward the longer the type name is?
> Do we include C++ namespaces in there as well?  Usually, the column
> that has variable width is the last one.
>
> If you're looking for the width of the watched range, a shorter alternative
> would be to not print the type, but instead use ADDR:LEN notation, like:
>
> Num     Type           Disp Enb Address            What
> 2       hw watchpoint  keep y   0x00007ffff7ff4990:4 -location decl.base.code
>
> WDYT?

If only the last column should have a variable length, then what about
appending the type and address to the last column, so that the output
looks like:

Num     Type           Disp Enb Address            What
2       hw watchpoint  keep y                      -location
decl.base.code at (tree_code *) 0x00007ffff7ff4990

or what about recursing through component accesses and printing the
location of the base object, like so

Num     Type           Disp Enb Address            What
2       hw watchpoint  keep y                      -location
decl.base.code at &((some_struct *) 0x00007ffff7ff4900).base.code

The latter output would give us the most information, including
bitfield information (if e.g. the "code" field is a bitfield).


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