public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
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.

      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).