This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 196964 - Step out expands variables
Summary: Step out expands variables
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Debugger (show other bugs)
Version: 7.0
Hardware: PC All
: P3 normal (vote)
Assignee: Egor Ushakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-22 14:12 UTC by Alexander Pepin
Modified: 2011-06-07 06:31 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Pepin 2011-03-22 14:12:29 UTC
Steps to reproduce:
- create Subproject sample application
- set BP in line 42
- start debugging, debugger stops at BP
- open Variables, "argv" is collapsed
- do step into (into hello1 function)
- do step out, now "argv" is expanded and "*argv" is shown as well
- do setp over and step into hello2
- do step out
Result: "argv" now is fully expanded
argv
\- *argv
   \- **argv

gdb console shows:

~"GNU gdb 6.8.0.20080328-cvs (cygwin-special)\n"
~"Copyright (C) 2008 Free Software Foundation, Inc.\n"
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
~"This is free software: you are free to change and redistribute it.\n"
~"There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\n"
~"and \"show warranty\" for details.\n"
~"This GDB was configured as \"i686-pc-cygwin\".\n"
&"C:\\\\Users\\\\ap153252/.gdbinit: No such file or directory.\n"
(gdb) 
2-gdb-set print repeat 0
3-gdb-set backtrace limit 1024
4-file-exec-and-symbols  "C:/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/dist/Debug/Cygwin_4.x-Windows/main"
2^done
(gdb) 
3^done
(gdb) 
4^done
(gdb) 
5-file-list-exec-source-file
5^done,line="30",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",macro-info="0"
(gdb) 
6cd C:\Users\ap153252\Documents\NetBeansProjects\SubProjects_18\main
7-exec-arguments 
8-break-insert -f "C:/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc:42"
1
&"cd C:\\Users\\ap153252\\Documents\\NetBeansProjects\\SubProjects_18\\main\n"
~"Working directory /cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main.\n"
6^done
(gdb) 
7^done
(gdb) 
8^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00401254",func="main",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="42",times="0"}
(gdb) 
&"\n"
1^done
(gdb) 
9-break-insert -t _start
&"Function \"_start\" not defined.\n"
9^error,msg="Function \"_start\" not defined."
(gdb) 
No command for record 1^done
10-break-insert -t main
10^done,bkpt={number="2",type="breakpoint",disp="del",enabled="y",addr="0x0040122b",func="main",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="39",times="0"}
(gdb) 
11-exec-run
11^running
(gdb) 
~"[New thread 3932.0x1da0]\n"
&"Error: dll starting at 0x776b0000 not found.\n"
&"Error: dll starting at 0x76c80000 not found.\n"
&"Error: dll starting at 0x776b0000 not found.\n"
&"Error: dll starting at 0x777d0000 not found.\n"
~"[New thread 3932.0x1e74]\n"
11*stopped,thread-id="1",frame={addr="0x0040122b",func="main",args=[{name="argc",value="1"},{name="argv",value="0x9698a0"}],file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="39"}
(gdb) 
12info threads
&"info threads\n"
~"  2 thread 3932.0x1e74  0x77acf895 in ntdll!RtlUpdateClonedSRWLock ()\n"
~"   from /cygdrive/c/Windows/system32/ntdll.dll\n"
~"* 1 thread 3932.0x1da0  main (argc=1, argv=0x9698a0) at main.cc:39\n"
12^done
(gdb) 
13-exec-continue
13^running
(gdb) 
13*stopped,reason="breakpoint-hit",bkptno="1",thread-id="1",frame={addr="0x00401254",func="_fu0___ZSt4cout",args=[],file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="42"}
(gdb) 
14-stack-list-frames
14^done,stack=[frame={level="0",addr="0x00401254",func="_fu0___ZSt4cout",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="42"}]
(gdb) 
15-stack-list-arguments 1
15^done,stack-args=[frame={level="0",args=[{name="argc",value="1"},{name="argv",value="0x9698a0"}]}]
(gdb) 
16-var-update --all-values * 
17-stack-list-locals --simple-values
16^done,changelist=[]
(gdb) 
17^done,locals=[{name="i",type="int",value="2674688"}]
(gdb) 
18-var-create - * i
19-var-create - * argc
20-var-create - * argv
18^done,name="var1",numchild="0",value="2674688",type="int"
(gdb) 
19^done,name="var2",numchild="0",value="1",type="int"
(gdb) 
20^done,name="var3",numchild="1",value="0x9698a0",type="char **"
(gdb) 
21-var-show-attributes "var1"
22-var-show-attributes "var2"
23-var-show-attributes "var3"
21^done,attr="editable"
(gdb) 
22^done,attr="editable"
(gdb) 
23^done,attr="editable"
(gdb) 
24-var-evaluate-expression var1
25-var-evaluate-expression var2
26-var-evaluate-expression var3
24^done,value="2674688"
(gdb) 
25^done,value="1"
(gdb) 
26^done,value="0x9698a0"
(gdb) 
27-exec-step
27^running
(gdb) 
27*stopped,reason="end-stepping-range",thread-id="1",frame={addr="0x0040135f",func="hello1",args=[],file="hello1.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/hello1lib/hello1.cc",line="34"}
(gdb) 
28-stack-list-frames
28^done,stack=[frame={level="0",addr="0x0040135f",func="hello1",file="hello1.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/hello1lib/hello1.cc",line="34"},frame={level="1",addr="0x00401259",func="_fu0___ZSt4cout",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="42"}]
(gdb) 
29-stack-list-arguments 1
30-var-update --all-values * 
29^done,stack-args=[frame={level="0",args=[]},frame={level="1",args=[{name="argc",value="1"},{name="argv",value="0x9698a0"}]}]
(gdb) 
31-stack-list-locals --simple-values
30^done,changelist=[]
(gdb) 
31^done,locals=[]
(gdb) 
32-var-update --all-values * 
32^done,changelist=[]
(gdb) 
33-var-list-children --all-values "var3"
33^done,numchild="1",children=[child={name="var3.*argv",exp="*argv",numchild="1",value="0x9698d0 \"/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/dist/Debug/Cygwin_4.x-Windows/main\"",type="char *"}]
(gdb) 
34-var-show-attributes "var3.*argv"
34^done,attr="editable"
(gdb) 
35-stack-select-frame 0
36-exec-finish
35^done
(gdb) 
36^running
(gdb) 
36*stopped,reason="function-finished",thread-id="1",frame={addr="0x00401259",func="_fu0___ZSt4cout",args=[],file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="42"},gdb-result-var="$1",return-value="0x4020c4 \"Hello from hello1...\\n\""
(gdb) 
37-stack-list-frames
37^done,stack=[frame={level="0",addr="0x00401259",func="_fu0___ZSt4cout",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="42"}]
(gdb) 
38-stack-list-arguments 1
39-var-update --all-values * 
38^done,stack-args=[frame={level="0",args=[{name="argc",value="1"},{name="argv",value="0x9698a0"}]}]
(gdb) 
39^done,changelist=[]
(gdb) 
40-stack-list-locals --simple-values
40^done,locals=[{name="i",type="int",value="2674688"}]
(gdb) 
41-var-update --all-values * 
41^done,changelist=[]
(gdb) 
42-exec-next
42^running
(gdb) 
42*stopped,reason="end-stepping-range",thread-id="1",frame={addr="0x00401269",func="_fu1___ZSt4cout",args=[],file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="43"}
(gdb) 
43-stack-list-frames
43^done,stack=[frame={level="0",addr="0x00401269",func="_fu1___ZSt4cout",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="43"}]
(gdb) 
44-stack-list-arguments 1
45-var-update --all-values * 
44^done,stack-args=[frame={level="0",args=[{name="argc",value="1"},{name="argv",value="0x9698a0"}]}]
(gdb) 
45^done,changelist=[]
(gdb) 
46-stack-list-locals --simple-values
46^done,locals=[{name="i",type="int",value="2674688"}]
(gdb) 
47-var-update --all-values * 
47^done,changelist=[]
(gdb) 
48-exec-step
48^running
(gdb) 
48*stopped,reason="end-stepping-range",thread-id="1",frame={addr="0x0040136b",func="hello2",args=[],file="hello2.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/hello2lib/hello2.cc",line="34"}
(gdb) 
49-stack-list-frames
49^done,stack=[frame={level="0",addr="0x0040136b",func="hello2",file="hello2.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/hello2lib/hello2.cc",line="34"},frame={level="1",addr="0x0040126e",func="_fu1___ZSt4cout",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="43"}]
(gdb) 
50-stack-list-arguments 1
51-var-update --all-values * 
50^done,stack-args=[frame={level="0",args=[]},frame={level="1",args=[{name="argc",value="1"},{name="argv",value="0x9698a0"}]}]
(gdb) 
51^done,changelist=[]
(gdb) 
52-stack-list-locals --simple-values
52^done,locals=[]
(gdb) 
53-var-update --all-values * 
53^done,changelist=[]
(gdb) 
54-var-list-children --all-values "var3.*argv"
54^done,numchild="1",children=[child={name="var3.*argv.**argv",exp="**argv",numchild="0",value="47 '/'",type="char"}]
(gdb) 
55-var-show-attributes "var3.*argv.**argv"
55^done,attr="editable"
(gdb) 
56-stack-select-frame 0
57-exec-finish
56^done
(gdb) 
57^running
(gdb) 
57*stopped,reason="function-finished",thread-id="1",frame={addr="0x0040126e",func="_fu1___ZSt4cout",args=[],file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="43"},gdb-result-var="$2",return-value="0x4020dc \"Hello from hello2...\\n\""
(gdb) 
58-stack-list-frames
58^done,stack=[frame={level="0",addr="0x0040126e",func="_fu1___ZSt4cout",file="main.cc",fullname="/cygdrive/c/Users/ap153252/Documents/NetBeansProjects/SubProjects_18/main/main.cc",line="43"}]
(gdb) 
59-stack-list-arguments 1
60-var-update --all-values * 
59^done,stack-args=[frame={level="0",args=[{name="argc",value="1"},{name="argv",value="0x9698a0"}]}]
(gdb) 
61-stack-list-locals --simple-values
60^done,changelist=[]
(gdb) 
61^done,locals=[{name="i",type="int",value="2674688"}]
(gdb) 
62-var-update --all-values * 
62^done,changelist=[]
(gdb)
Comment 1 Alexander Pepin 2011-04-25 09:49:04 UTC
It's very annoying.
Comment 2 Egor Ushakov 2011-06-06 15:24:51 UTC
fixed in:
http://hg.netbeans.org/releases/rev/4eefca022b6b
Comment 3 Quality Engineering 2011-06-07 06:31:59 UTC
Integrated into 'main-golden'
Changeset: http://hg.netbeans.org/main-golden/rev/
User: 
Log: