From: Andrew Cagney <cagney@redhat.com>
To: Adam Jocksch <ajocksch@redhat.com>
Cc: Stan Cox <scox@redhat.com>, Frysk List <frysk@sourceware.org>
Subject: Re: hpd command for DisplayValues
Date: Thu, 14 Jun 2007 17:51:00 -0000 [thread overview]
Message-ID: <46717C1A.80000@redhat.com> (raw)
In-Reply-To: <46717870.4080805@redhat.com>
BTW, a gdb interaction looks like the below. The background to know is
that "display" and "examine" are closely related vis:
(gdb) x/i $pc
0x807b6c0 <main>: lea 0x4(%esp),%ecx
(gdb) stepi
0x0807b6c4 28 {
(gdb) x/i $pc
0x807b6c4 <main+4>: and $0xfffffff0,%esp
(gdb) stepi
0x0807b6c7 28 {
(gdb) display/i $pc
1: x/i $pc 0x807b6c7 <main+7>: pushl 0xfffffffc(%ecx)
(gdb) stepi
0x0807b6ca in main (argc=0x1, argv=0xbff4d0d4) at ../../gdb/gdb.c:28
28 {
1: x/i $pc 0x807b6ca <main+10>: push %ebp
(gdb)
0x0807b6cb 28 {
1: x/i $pc 0x807b6cb <main+11>: mov %esp,%ebp
The output reflects how "display" is implemented using the lower-level
"examine" command - it doesn't detect change.
Andrew
Adam Jocksch wrote:
> Andrew Cagney wrote:
>> Adam Jocksch wrote:
>>> Hrm, maybe. Although reading in the hpd spec: "By defining
>>> actionpoints, the user may request in advance that target program
>>> execution stop
>>
>> Nice quote, the display object doesn't fit that model since it is
>> passive - it doesn't directly trigger a stop since it doesn't
>> implement a mechanism for detecting changes in the data (that would
>> be watch). Instead it detects when the variable has changed after a
>> stop.
>>
>> For the command line, consider this:
>>
>>> [] break main
>>> [] run ....
>>> main hit
>>> [] print argc
>>> ...
>>> [] step
>>> [] print argc
>>> [] step
>>
>> vs:
>>
>>> [] break main
>>> [] run ....
>>> main hit
>>> [] display argc
>>> ...
>>> [] step
>>> ... value of argc changed from 4 to -1
>>> [] step
>>> [] step
>>> Value of argc changed from -1 to 4
>>
>> For a graphical interface the object facilitates the efficient
>> implementation of a variable display window - it will only trigger a
>> redraw of the display elements of the X display when there's
>> something new to draw.
>>
>> Andrew
>>
>>> under certain conditions". Do we want the display to be similar to a
>>> watchpoint, except it applies to an expression rather than a single
>>> variable? Or do we want it to be an expression that is displayed
>>> when the program stops (I remember Andrew saying something about how
>>> gdb does this, and it's bad, so we probably want to avoid that).
>>>
>>> While what the DisplayValue object is capable is well defined, I
>>> guess I'm not 100% sure of how it will be used.
>>
> That sounds similar to what I had envisioned.
prev parent reply other threads:[~2007-06-14 17:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-14 16:40 Adam Jocksch
2007-06-14 17:04 ` Stan Cox
2007-06-14 17:15 ` Adam Jocksch
2007-06-14 17:18 ` Andrew Cagney
2007-06-14 17:34 ` Adam Jocksch
2007-06-14 17:51 ` Andrew Cagney [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46717C1A.80000@redhat.com \
--to=cagney@redhat.com \
--cc=ajocksch@redhat.com \
--cc=frysk@sourceware.org \
--cc=scox@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).