This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
variable objects (was: [rfc] Annotation level THREE)
- From: Nick Roberts <nick at nick dot uklinux dot net>
- To: Andrew Cagney <ac131313 at redhat dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Sun, 30 Mar 2003 14:55:29 +0100
- Subject: variable objects (was: [rfc] Annotation level THREE)
- References: <3E6E7326.3020906@redhat.com><15985.7336.23998.590592@nick.uklinux.net><3E751565.4030409@redhat.com><15990.10811.61395.996906@nick.uklinux.net><3E763228.9060104@redhat.com><15990.62618.114706.459904@nick.uklinux.net><3E773B59.90403@redhat.com><16003.24724.76812.284701@nick.uklinux.net><3E84CD1B.9040302@redhat.com>
Andrew Cagney writes:
> > -var-create - * i
> > ^done,name="var1",numchild="0",type="int"
> > (gdb)
> > -var-create - * r
> > ^done,name="var2",numchild="10",type="double [10]"
> > (gdb)
> > set var i=3
>
> Do -var-assign or -var-evaluate-expression work? Regardless, this looks
> like a bug.
>
> > &"set var i=3\n"
> > ^done
> > (gdb)
> > -var-update *
> > ^done,changelist=[{name="var1",in_scope="true",type_changed="false"}]
> > (gdb)
> > set var r[3]=6
> > &"set var r[3]=6\n"
> > ^done
> > (gdb)
> > -var-update *
> > ^done,changelist=[]
> > (gdb)
>
If -var-assign is used (or, indeed, if the array element is changed within
execution) then the changelist reflects this e.g
-var-assign var2.3 6
^done,value="6"
(gdb)
-var-update *
^done,changelist=[{name="var2.3",in_scope="true",type_changed="false"}]
(gdb)
-var-evaluate-expression gives the following:
-var-evaluate-expression var2
^done,value="[10]"
(gdb)
which possibly explains why nothing appears in the changelist when the CLI
command (set var r[3]=6) is used as the array size is not editable:
-var-show-attributes var2
^done,attr="noneditable"
(gdb)
This is only a problem when trying to control GDB using both CLI and MI
commands which is what we would like to do in Emacs. Do Apple (Project
Builder?) or Eclipse have a console where CLI commands can be entered?
Nick