GNU bug report logs -
#39180
27.0.50; [PATCH] Use expressions as memory location in gdb-mi memory buffer
Previous Next
Reported by: Yuan Fu <casouri <at> gmail.com>
Date: Sat, 18 Jan 2020 20:55:02 UTC
Severity: normal
Tags: patch
Found in version 27.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
> On Jan 31, 2020, at 5:05 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>
>> From: Yuan Fu <casouri <at> gmail.com>
>> Date: Sat, 18 Jan 2020 15:54:35 -0500
>>
>> Currently gdb-mi does allow expressions as memory address, but it translates it to a fixed address. This patch makes gdb to store the expression and re-evaluate on updates. So the address changes as expression’s value changes.
>
> Thanks.
>
> Are these 4 patches needed to add the above improvement, or is each
> part of the series independent, and could be applied on its own right?
>
I merged them into one.
> If the entire series should be applied in a single transaction, please
> make then a single patch, as that makes it easier to review and
> apply. Otherwise, please explain what is the rationale for each part
> separately, because I don't think I understand it.
>
>> Before the memory buffer evaluates the expression as address
>> and use the fixed result in each stop. This change stores the
>> expression itself and reevaluates it in each stop for an address.
>> Then displays the value of the memory at that address.
>
> Two spaces between sentences (here and elsewhere in the patch),
> please.
>
>> lisp/progmodes/gdb-mi.el (gdb-memory-address-expression): new
>> (gdb-memory-address): change default value, add docstring
>> (def-gdb-trigger-and-handler gdb-invalidate-memory,
>> gdb-memory-set-address): replace ’gdb-memory-address’ with
>> ’gdb-memory-address-expression’
>> (gdb-memory-header): Add display for ’gdb-memory-address-expression’,
>> move the mouse event from address to expression
>
> Please quote symbols 'like this'.
Both fixed.
>
>> * lisp/progmodes/gdb-mi.el (gdb-read-memory-custom):
>> Break infinite loop. Change ’error’ to ’user-error’
>
> I don't understand what infinite loop are you alluding to here, and
> how did it come into existence.
Added some comments to explain.
>
>> * lisp/progmodes/gdb-mi.el (gdb-memory-header):
>> Protect against nil value
>
> And what is the problem you are trying to solve here?
Added some comments.
>
>> * lisp/progmodes/gdb-mi.el (gdb--memory-display-warning): new
>> (gdb-read-memory-custom, gdb-memory-header): Add warning
>
> And what is this part about?
Added some explanation in commit message and docstring of gdb--memory-display-warning.
And here is the new patch.
Yuan
[memory-fixed.patch (application/octet-stream, attachment)]
This bug report was last modified 5 years and 186 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.