This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
gdbMI/792: -var-list-children return the wrong category for C++
- From: alain at qnx dot com
- To: gdb-gnats at sources dot redhat dot com
- Date: 9 Oct 2002 15:35:10 -0000
- Subject: gdbMI/792: -var-list-children return the wrong category for C++
- Reply-to: alain at qnx dot com
>Number: 792
>Category: gdbMI
>Synopsis: -var-list-children return the wrong category for C++
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Oct 09 08:38:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: alain@qnx.com
>Release: unknown-1.0
>Organization:
>Environment:
GNU/Linux (redhat 7.1)
gdb 5.2.1
>Description:
gdb/mi seems to put the variable of a Class in the wrong scope
in the example below
class A
{
int u;
public:
A(){};
int x;
char buffer[10];
...
};
the variable "u" is shown as a public member.
(gdb)
8 0-break-insert main
8^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x08048696",func="main",file="testcc.cc",line="43",times="0"}
(gdb)
9 0-exec-run
9^running
(gdb)
9*stopped,reason="breakpoint-hit",bkptno="1",thread-id="0",frame={addr="0x08048696",func="main",args=[],file="testcc.cc",line="43"}
(gdb)
10 info threads
&"info threads\n"
10^done
(gdb)
11 0-var-update *
11^done,changelist={}
13^done
(gdb)
14 0-stack-list-frames
14^done,stack=[frame={level="0 ",addr="0x08048696",func="main",file="testcc.cc",line="43"},frame={level="1 ",addr="0x400a8177",func="__libc_start_main",file="../sysdeps/generic/libc-start.c",line="129"}]
(gdb)
15 0-stack-select-frame 0
15^done
(gdb)
16 0-data-list-changed-registers
16^done,changed-registers=[]
(gdb)
17 0-stack-select-frame 0
17^done
(gdb)
18 0-data-list-changed-registers
18^done,changed-registers=[]
(gdb)
19 0-stack-list-arguments 0 0 0
19^done,stack-args=[frame={level="0",args=[]}]
(gdb)
20 0-stack-select-frame 0
20^done
(gdb)
21 0-data-list-changed-registers
21^done,changed-registers=[]
(gdb)
22 0-stack-list-locals 0
22^done,locals=[name="a",name="c"]
(gdb)
23 0-var-create - * a
23^done,name="var1",numchild="3",type="A"
(gdb)
24 0-var-create - * c
24^done,name="var2",numchild="3",type="C"
(gdb)
25 0-var-evaluate-expression var1
25^done,value="{...}"
(gdb)
26 0-var-evaluate-expression var2
26^done,value="{...}"
(gdb)
27 0-var-list-children var1
27^done,numchild="3",children={child={name="var1.public",exp="public",numchild="2"},child={name="var1.private",exp="private",numchild="2"},child={name="var1.protected",exp="protected",numchild="2"}}
(gdb)
28 0-var-evaluate-expression var1.public
28^done,value=""
(gdb)
29 0-var-evaluate-expression var1.private
29^done,value=""
(gdb)
30 0-var-evaluate-expression var1.protected
30^done,value=""
(gdb)
31 0-var-list-children var1.public
31^done,numchild="2",children={child={name="var1.public.u",exp="u",numchild="0",type="int"},child={name="var1.public.x",exp="x",numchild="0",type="int"}}
(gdb)
32 0-var-evaluate-expression var1.public.u
32^done,value="1073926144"
(gdb)
33 0-var-evaluate-expression var1.public.x
33^done,value="1075538404"
(gdb)
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="test.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test.cc"
I2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8aW9zdHJlYW0+CgpjbGFzcyBCCnsKCXB1Ymxp
YzoKCQlpbnQgYng7CgkJaW50IGJ5Owp9OwoKY2xhc3MgQQp7CglpbnQgdTsKCglwdWJsaWM6CgkJ
QSgpCgkJewoJCX07CgkJaW50IHg7CgkJY2hhciBidWZmZXJbMTBdOwoJCglwcm90ZWN0ZWQ6CgkJ
aW50IHk7CgkJQiBiOwoJCglwcml2YXRlOgoJCWZsb2F0IHo7Cn07CgpjbGFzcyBDIDogcHVibGlj
IEEKewoJcHVibGljOgoJCUMoKQoJCXsKCQl9OwoJCWludCB6enp6OwoJcHJpdmF0ZToKCQlpbnQg
c3NzczsKfTsKCmludCBtYWluKCkKewoJQSBhOwoJQyBjOwoJc3RyY3B5KCBhLmJ1ZmZlciwgInRl
c3QiICk7Cgljb3V0IDw8IGEuYnVmZmVyIDw8IGVuZGw7CglyZXR1cm4gMDsKfQo=