ruby-debug 0.10.0 → 0.10.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +94 -2
- data/ChangeLog +5225 -0
- data/README +30 -1
- data/Rakefile +55 -24
- data/bin/rdebug +249 -128
- data/cli/ruby-debug/command.rb +30 -3
- data/cli/ruby-debug/commands/breakpoints.rb +54 -24
- data/cli/ruby-debug/commands/catchpoint.rb +13 -12
- data/cli/ruby-debug/commands/condition.rb +49 -0
- data/cli/ruby-debug/commands/continue.rb +32 -0
- data/cli/ruby-debug/commands/control.rb +19 -43
- data/cli/ruby-debug/commands/disassemble.RB +38 -0
- data/cli/ruby-debug/commands/display.rb +1 -1
- data/cli/ruby-debug/commands/edit.rb +48 -0
- data/cli/ruby-debug/commands/enable.rb +78 -35
- data/cli/ruby-debug/commands/eval.rb +6 -5
- data/cli/ruby-debug/commands/finish.rb +42 -0
- data/cli/ruby-debug/commands/frame.rb +64 -33
- data/cli/ruby-debug/commands/help.rb +19 -15
- data/cli/ruby-debug/commands/info.rb +295 -36
- data/cli/ruby-debug/commands/irb.rb +3 -1
- data/cli/ruby-debug/commands/list.rb +27 -50
- data/cli/ruby-debug/commands/quit.rb +38 -0
- data/cli/ruby-debug/commands/reload.rb +40 -0
- data/cli/ruby-debug/commands/save.rb +80 -0
- data/cli/ruby-debug/commands/{settings.rb → set.rb} +50 -12
- data/cli/ruby-debug/commands/show.rb +83 -27
- data/cli/ruby-debug/commands/source.rb +36 -0
- data/cli/ruby-debug/commands/stepping.rb +36 -72
- data/cli/ruby-debug/commands/threads.rb +32 -23
- data/cli/ruby-debug/commands/variables.rb +34 -4
- data/cli/ruby-debug/helper.rb +10 -75
- data/cli/ruby-debug/interface.rb +72 -9
- data/cli/ruby-debug/processor.rb +203 -100
- data/doc/rdebug.1 +7 -2
- data/rdbg.rb +33 -0
- data/test/{test-ruby-debug-base.rb → base/base.rb} +27 -29
- data/test/base/binding.rb +31 -0
- data/test/base/catchpoint.rb +26 -0
- data/test/base/load.rb +40 -0
- data/test/data/annotate.cmd +29 -0
- data/test/data/annotate.right +137 -0
- data/test/data/break_bad.cmd +18 -0
- data/test/data/break_bad.right +28 -0
- data/test/data/breakpoints.cmd +38 -0
- data/test/data/breakpoints.right +98 -0
- data/test/data/condition.cmd +28 -0
- data/test/data/condition.right +65 -0
- data/test/data/ctrl.cmd +23 -0
- data/test/data/ctrl.right +69 -0
- data/test/{display.cmd → data/display.cmd} +7 -1
- data/test/{display.right → data/display.right} +13 -6
- data/test/data/dollar-0.right +2 -0
- data/test/data/dollar-0a.right +2 -0
- data/test/data/dollar-0b.right +2 -0
- data/test/data/edit.cmd +12 -0
- data/test/data/edit.right +19 -0
- data/test/{breakpoints.cmd → data/emacs_basic.cmd} +0 -0
- data/test/{breakpoints.right → data/emacs_basic.right} +24 -12
- data/test/data/enable.cmd +20 -0
- data/test/data/enable.right +36 -0
- data/test/data/finish.cmd +16 -0
- data/test/data/finish.right +43 -0
- data/test/{frame.cmd → data/frame.cmd} +2 -0
- data/test/{frame.right → data/frame.right} +8 -2
- data/test/{help.cmd → data/help.cmd} +8 -0
- data/test/data/help.right +21 -0
- data/test/data/history.right +7 -0
- data/test/data/info-thread.cmd +13 -0
- data/test/data/info-thread.right +37 -0
- data/test/data/info-var-bug2.cmd +5 -0
- data/test/data/info-var-bug2.right +10 -0
- data/test/{info-var.cmd → data/info-var.cmd} +3 -3
- data/test/{info-var.right → data/info-var.right} +20 -15
- data/test/{info.cmd → data/info.cmd} +10 -1
- data/test/data/info.right +65 -0
- data/test/data/linetrace.cmd +6 -0
- data/test/data/linetrace.right +32 -0
- data/test/data/linetracep.cmd +7 -0
- data/test/data/linetracep.right +25 -0
- data/test/data/list.cmd +19 -0
- data/test/data/list.right +127 -0
- data/test/data/noquit.right +1 -0
- data/test/data/output.cmd +6 -0
- data/test/data/output.right +41 -0
- data/test/data/post-mortem-next.cmd +8 -0
- data/test/data/post-mortem-next.right +14 -0
- data/test/data/post-mortem-osx.right +31 -0
- data/test/data/post-mortem.cmd +13 -0
- data/test/data/post-mortem.right +31 -0
- data/test/{quit.cmd → data/quit.cmd} +2 -5
- data/test/data/quit.right +9 -0
- data/test/data/raise.cmd +11 -0
- data/test/data/raise.right +26 -0
- data/test/{setshow.cmd → data/setshow.cmd} +0 -1
- data/test/{setshow.right → data/setshow.right} +0 -1
- data/test/data/source.cmd +5 -0
- data/test/data/source.right +15 -0
- data/test/{stepping.cmd → data/stepping.cmd} +6 -2
- data/test/{stepping.right → data/stepping.right} +13 -3
- data/test/data/test-init-cygwin.right +7 -0
- data/test/data/test-init-osx.right +4 -0
- data/test/data/test-init.right +5 -0
- data/test/data/trace.right +23 -0
- data/test/dollar-0.rb +5 -0
- data/test/except-bug2.rb +7 -0
- data/test/gcd-dbg-nox.rb +31 -0
- data/test/gcd-dbg.rb +30 -0
- data/test/helper.rb +44 -14
- data/test/info-var-bug.rb +2 -0
- data/test/info-var-bug2.rb +2 -0
- data/test/null.rb +1 -0
- data/test/output.rb +2 -0
- data/test/pm-base.rb +22 -0
- data/test/pm.rb +11 -0
- data/test/raise.rb +3 -0
- data/test/tdebug.rb +88 -40
- data/test/test-annotate.rb +25 -0
- data/test/test-break-bad.rb +25 -0
- data/test/test-breakpoints.rb +14 -17
- data/test/test-condition.rb +25 -0
- data/test/test-ctrl.rb +54 -0
- data/test/test-display.rb +15 -15
- data/test/test-dollar-0.rb +39 -0
- data/test/test-edit.rb +26 -0
- data/test/test-emacs-basic.rb +26 -0
- data/test/test-enable.rb +25 -0
- data/test/test-finish.rb +34 -0
- data/test/test-frame.rb +15 -16
- data/test/test-help.rb +34 -18
- data/test/test-hist.rb +68 -0
- data/test/test-info-thread.rb +32 -0
- data/test/test-info-var.rb +28 -14
- data/test/test-info.rb +15 -17
- data/test/test-init.rb +41 -0
- data/test/test-list.rb +25 -0
- data/test/test-output.rb +26 -0
- data/test/test-pm.rb +46 -0
- data/test/test-quit.rb +19 -17
- data/test/test-raise.rb +25 -0
- data/test/test-setshow.rb +14 -13
- data/test/test-source.rb +25 -0
- data/test/test-stepping.rb +14 -14
- data/test/test-trace.rb +63 -0
- data/test/thread1.rb +26 -0
- metadata +125 -31
- data/cli/ruby-debug/commands/script.rb +0 -64
- data/runner.sh +0 -7
- data/test/help.right +0 -4
- data/test/info.right +0 -35
- data/test/quit.right +0 -22
- data/test/test-columnize.rb +0 -46
File without changes
|
@@ -1,4 +1,4 @@
|
|
1
|
-
gcd.rb:4
|
1
|
+
gcd.rb:4
|
2
2
|
def gcd(a, b)
|
3
3
|
# # ********************************************************
|
4
4
|
# # This tests step, next, finish, continue, disable and
|
@@ -12,28 +12,29 @@ Frame call-display style is last.
|
|
12
12
|
# set autoeval off
|
13
13
|
autoeval is off.
|
14
14
|
# break 6
|
15
|
-
Breakpoint 1 file gcd.rb, line 6
|
15
|
+
Breakpoint 1 file ./gcd.rb, line 6
|
16
16
|
# break 10
|
17
|
-
Breakpoint 2 file gcd.rb, line 10
|
17
|
+
Breakpoint 2 file ./gcd.rb, line 10
|
18
18
|
# continue
|
19
19
|
Breakpoint 1 at gcd.rb:6
|
20
|
-
gcd.rb:6
|
20
|
+
gcd.rb:6
|
21
21
|
if a > b
|
22
22
|
# where
|
23
23
|
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
24
24
|
#1 at line gcd.rb:18
|
25
25
|
# break Foo.bar
|
26
|
-
Unknown class Foo.
|
26
|
+
*** Unknown class Foo.
|
27
27
|
# break Object.gcd
|
28
28
|
Breakpoint 3 at Object::gcd
|
29
29
|
# info break
|
30
30
|
Num Enb What
|
31
31
|
1 y at gcd.rb:6
|
32
|
+
breakpoint already hit 1 time
|
32
33
|
2 y at gcd.rb:10
|
33
34
|
3 y at Object:gcd
|
34
35
|
# continue
|
35
36
|
Breakpoint 2 at gcd.rb:10
|
36
|
-
gcd.rb:10
|
37
|
+
gcd.rb:10
|
37
38
|
return nil if a <= 0
|
38
39
|
# where
|
39
40
|
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:10
|
@@ -42,26 +43,35 @@ return nil if a <= 0
|
|
42
43
|
Program stopped. It stopped at a breakpoint.
|
43
44
|
# c 10
|
44
45
|
Breakpoint 3 at Object:gcd
|
45
|
-
gcd.rb:4
|
46
|
+
gcd.rb:4
|
46
47
|
def gcd(a, b)
|
47
48
|
# info break
|
48
49
|
Num Enb What
|
49
50
|
1 y at gcd.rb:6
|
51
|
+
breakpoint already hit 1 time
|
50
52
|
2 y at gcd.rb:10
|
53
|
+
breakpoint already hit 1 time
|
51
54
|
3 y at Object:gcd
|
55
|
+
breakpoint already hit 1 time
|
52
56
|
# break foo
|
53
|
-
|
57
|
+
*** Invalid breakpoint location: foo.
|
54
58
|
# info break
|
55
59
|
Num Enb What
|
56
60
|
1 y at gcd.rb:6
|
61
|
+
breakpoint already hit 1 time
|
57
62
|
2 y at gcd.rb:10
|
63
|
+
breakpoint already hit 1 time
|
58
64
|
3 y at Object:gcd
|
65
|
+
breakpoint already hit 1 time
|
59
66
|
# disable 1
|
60
67
|
# info break
|
61
68
|
Num Enb What
|
62
69
|
1 n at gcd.rb:6
|
70
|
+
breakpoint already hit 1 time
|
63
71
|
2 y at gcd.rb:10
|
72
|
+
breakpoint already hit 1 time
|
64
73
|
3 y at Object:gcd
|
74
|
+
breakpoint already hit 1 time
|
65
75
|
# enable breakpoint 1
|
66
76
|
# enable br 10
|
67
77
|
Enable breakpoints argument '10' needs to at most 3.
|
@@ -70,25 +80,27 @@ Enable breakpoints argument '10' needs to at most 3.
|
|
70
80
|
# info break
|
71
81
|
Num Enb What
|
72
82
|
2 y at gcd.rb:10
|
83
|
+
breakpoint already hit 1 time
|
73
84
|
3 y at Object:gcd
|
85
|
+
breakpoint already hit 1 time
|
74
86
|
# # We should still be able to access 2
|
75
87
|
# disable 2
|
76
88
|
# enable
|
77
|
-
"enable" must be followed "display", "breakpoints" or breakpoint numbers.
|
89
|
+
*** "enable" must be followed "display", "breakpoints" or breakpoint numbers.
|
78
90
|
# enable foo
|
79
91
|
Enable breakpoints argument 'foo' needs to be a number.
|
80
92
|
# disable bar
|
81
93
|
Disable breakpoints argument 'bar' needs to be a number.
|
82
94
|
# disable
|
83
|
-
"disable" must be followed "display", "breakpoints" or breakpoint numbers.
|
95
|
+
*** "disable" must be followed "display", "breakpoints" or breakpoint numbers.
|
84
96
|
# # We should be able to delete 2
|
85
97
|
# delete 2 3
|
86
98
|
# info break
|
87
99
|
No breakpoints.
|
88
100
|
# # Should get a message about having no breakpoints.
|
89
101
|
# disable 1
|
90
|
-
No breakpoints have been set.
|
102
|
+
*** No breakpoints have been set.
|
91
103
|
# enable 1
|
92
|
-
No breakpoints have been set.
|
104
|
+
*** No breakpoints have been set.
|
93
105
|
# # finish
|
94
106
|
# quit
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# ********************************************************
|
2
|
+
# This tests the enable command.
|
3
|
+
# ********************************************************
|
4
|
+
set debuggertesting on
|
5
|
+
set callstyle last
|
6
|
+
set autoeval off
|
7
|
+
break Object.gcd
|
8
|
+
# Should have a breakpoint 1
|
9
|
+
enable br 1
|
10
|
+
# Get help on enable
|
11
|
+
help enable
|
12
|
+
# Get help on just enable break
|
13
|
+
help enable break
|
14
|
+
# Plain enable should work
|
15
|
+
enable
|
16
|
+
# An invalid enable command
|
17
|
+
enable foo
|
18
|
+
quit
|
19
|
+
|
20
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
gcd.rb:4
|
2
|
+
def gcd(a, b)
|
3
|
+
# # ********************************************************
|
4
|
+
# # This tests the enable command.
|
5
|
+
# # ********************************************************
|
6
|
+
# set debuggertesting on
|
7
|
+
Currently testing the debugger is on.
|
8
|
+
# set callstyle last
|
9
|
+
Frame call-display style is last.
|
10
|
+
# set autoeval off
|
11
|
+
autoeval is off.
|
12
|
+
# break Object.gcd
|
13
|
+
Breakpoint 1 at Object::gcd
|
14
|
+
# # Should have a breakpoint 1
|
15
|
+
# enable br 1
|
16
|
+
# # Get help on enable
|
17
|
+
# help enable
|
18
|
+
Enable some things.
|
19
|
+
This is used to cancel the effect of the "disable" command.
|
20
|
+
--
|
21
|
+
List of enable subcommands:
|
22
|
+
--
|
23
|
+
enable breakpoints -- Enable specified breakpoints
|
24
|
+
enable display -- Enable some expressions to be displayed when program stops
|
25
|
+
# # Get help on just enable break
|
26
|
+
# help enable break
|
27
|
+
Enable specified breakpoints.
|
28
|
+
Give breakpoint numbers (separated by spaces) as arguments.
|
29
|
+
This is used to cancel the effect of the "disable" command.
|
30
|
+
# # Plain enable should work
|
31
|
+
# enable
|
32
|
+
*** "enable" must be followed "display", "breakpoints" or breakpoint numbers.
|
33
|
+
# # An invalid enable command
|
34
|
+
# enable foo
|
35
|
+
Enable breakpoints argument 'foo' needs to be a number.
|
36
|
+
# quit
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# ********************************************************
|
2
|
+
# This tests finish.
|
3
|
+
# ********************************************************
|
4
|
+
set debuggertesting on
|
5
|
+
set callstyle last
|
6
|
+
set autoeval off
|
7
|
+
break 6
|
8
|
+
continue
|
9
|
+
continue
|
10
|
+
continue
|
11
|
+
where
|
12
|
+
finish 0
|
13
|
+
where
|
14
|
+
p a
|
15
|
+
p b
|
16
|
+
finish
|
@@ -0,0 +1,43 @@
|
|
1
|
+
gcd.rb:4
|
2
|
+
def gcd(a, b)
|
3
|
+
# # ********************************************************
|
4
|
+
# # This tests finish.
|
5
|
+
# # ********************************************************
|
6
|
+
# set debuggertesting on
|
7
|
+
Currently testing the debugger is on.
|
8
|
+
# set callstyle last
|
9
|
+
Frame call-display style is last.
|
10
|
+
# set autoeval off
|
11
|
+
autoeval is off.
|
12
|
+
# break 6
|
13
|
+
Breakpoint 1 file ./gcd.rb, line 6
|
14
|
+
# continue
|
15
|
+
Breakpoint 1 at gcd.rb:6
|
16
|
+
gcd.rb:6
|
17
|
+
if a > b
|
18
|
+
# continue
|
19
|
+
Breakpoint 1 at gcd.rb:6
|
20
|
+
gcd.rb:6
|
21
|
+
if a > b
|
22
|
+
# continue
|
23
|
+
Breakpoint 1 at gcd.rb:6
|
24
|
+
gcd.rb:6
|
25
|
+
if a > b
|
26
|
+
# where
|
27
|
+
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
28
|
+
#1 Object.-(a#Fixnum, b#Fixnum) at line gcd.rb:15
|
29
|
+
#2 Object.-(a#Fixnum, b#Fixnum) at line gcd.rb:15
|
30
|
+
#3 at line gcd.rb:18
|
31
|
+
# finish 0
|
32
|
+
gcd.rb:13
|
33
|
+
return a
|
34
|
+
# where
|
35
|
+
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:13
|
36
|
+
#1 Object.-(a#Fixnum, b#Fixnum) at line gcd.rb:15
|
37
|
+
#2 Object.-(a#Fixnum, b#Fixnum) at line gcd.rb:15
|
38
|
+
#3 at line gcd.rb:18
|
39
|
+
# p a
|
40
|
+
1
|
41
|
+
# p b
|
42
|
+
2
|
43
|
+
# finish
|
@@ -34,12 +34,18 @@ if a > b
|
|
34
34
|
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
35
35
|
--> #1 at line gcd.rb:18
|
36
36
|
# up 2
|
37
|
-
Adjusting would put us beyond the oldest (initial) frame
|
37
|
+
*** Adjusting would put us beyond the oldest (initial) frame.
|
38
|
+
# where
|
38
39
|
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
39
40
|
--> #1 at line gcd.rb:18
|
40
41
|
# down 2
|
41
|
-
Adjusting would put us beyond the newest (innermost) frame
|
42
|
+
*** Adjusting would put us beyond the newest (innermost) frame.
|
43
|
+
# where
|
42
44
|
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
43
45
|
--> #1 at line gcd.rb:18
|
46
|
+
# frame 0 thread 3
|
47
|
+
*** Thread 3 doesn't exist.
|
48
|
+
# frame 0 thread 1
|
49
|
+
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
44
50
|
# # finish
|
45
51
|
# quit
|
@@ -7,6 +7,14 @@ set width 80
|
|
7
7
|
### *** help commands ***
|
8
8
|
### *******************************
|
9
9
|
help foo
|
10
|
+
help set listsize
|
11
|
+
help show anno
|
12
|
+
help show foo
|
13
|
+
help info file
|
14
|
+
help info file all
|
15
|
+
help info file br
|
16
|
+
help info files
|
17
|
+
|
10
18
|
# FIXME - the below should work
|
11
19
|
# help
|
12
20
|
# help step
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Currently testing the debugger is on.
|
2
|
+
autoeval is off.
|
3
|
+
width is 80.
|
4
|
+
Undefined command: "foo". Try "help".
|
5
|
+
Set number of source lines to list by default.
|
6
|
+
Show annotation level.
|
7
|
+
0 == normal; 2 == output annotated suitably for use by programs that control
|
8
|
+
ruby-debug.
|
9
|
+
Invalid 'show' subcommand 'foo'.
|
10
|
+
Info about a particular file read in.
|
11
|
+
|
12
|
+
After the file name is supplied, you can list file attributes that
|
13
|
+
you wish to see.
|
14
|
+
|
15
|
+
Attributes include: "all", "basic", "breakpoint", "lines", "mtime", "path"
|
16
|
+
and "sha1".
|
17
|
+
Info about a particular file read in.
|
18
|
+
All file information available - breakpoints, lines, mtime, path, and sha1.
|
19
|
+
Info about a particular file read in.
|
20
|
+
Show trace line numbers.
|
21
|
+
File names and timestamps of files read in.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# ********************************************************
|
2
|
+
# This tests basic info thread commands
|
3
|
+
set debuggertesting on
|
4
|
+
set callstyle last
|
5
|
+
set autoeval off
|
6
|
+
info threads terse
|
7
|
+
info threads ver
|
8
|
+
info thread 1 t
|
9
|
+
info threads
|
10
|
+
info thread
|
11
|
+
help info thread
|
12
|
+
help info threads
|
13
|
+
q
|
@@ -0,0 +1,37 @@
|
|
1
|
+
gcd.rb:4
|
2
|
+
def gcd(a, b)
|
3
|
+
# # ********************************************************
|
4
|
+
# # This tests basic info thread commands
|
5
|
+
# set debuggertesting on
|
6
|
+
Currently testing the debugger is on.
|
7
|
+
# set callstyle last
|
8
|
+
Frame call-display style is last.
|
9
|
+
# set autoeval off
|
10
|
+
autoeval is off.
|
11
|
+
# info threads terse
|
12
|
+
+ 1 #<Thread:0xb7ceb708 run> ./gcd.rb:4
|
13
|
+
# info threads ver
|
14
|
+
+ 1 #<Thread:0xb7ceb708 run>
|
15
|
+
#0 at line gcd.rb:4
|
16
|
+
# info thread 1 t
|
17
|
+
+ 1 #<Thread:0xb7ceb708 run> ./gcd.rb:4
|
18
|
+
# info threads
|
19
|
+
+ 1 #<Thread:0xb7ceb708 run> ./gcd.rb:4
|
20
|
+
# info thread
|
21
|
+
+ 1 #<Thread:0xb7ceb708 run> ./gcd.rb:4
|
22
|
+
# help info thread
|
23
|
+
List info about thread NUM.
|
24
|
+
|
25
|
+
If no thread number is given, we list info for all threads. 'terse' and 'verbose'
|
26
|
+
options are possible. If terse, just give summary thread name information. See
|
27
|
+
"help info threads" for more detail about this summary information.
|
28
|
+
|
29
|
+
If 'verbose' appended to the end of the command, then the entire
|
30
|
+
stack trace is given for each thread.
|
31
|
+
# help info threads
|
32
|
+
information of currently-known threads.
|
33
|
+
|
34
|
+
This information includes whether the thread is current (+), if it is
|
35
|
+
suspended ($), or ignored (!). The thread number and the top stack
|
36
|
+
item. If 'verbose' is given then the entire stack frame is shown.
|
37
|
+
# q
|
@@ -4,12 +4,12 @@
|
|
4
4
|
# ***************************************************
|
5
5
|
set debuggertesting on
|
6
6
|
# Go to where we have a bad "inspect" of a local variable
|
7
|
-
continue
|
7
|
+
continue 36
|
8
8
|
info variables
|
9
9
|
# Go to where we have a bad "inspect" and "to_s" of a local variable
|
10
|
-
continue
|
10
|
+
continue 40
|
11
11
|
info variables
|
12
|
-
break
|
12
|
+
break 31
|
13
13
|
# The first time through, we can do inspect.
|
14
14
|
continue
|
15
15
|
info locals
|
@@ -7,40 +7,45 @@ class Lousy_inspect
|
|
7
7
|
# set debuggertesting on
|
8
8
|
Currently testing the debugger is on.
|
9
9
|
# # Go to where we have a bad "inspect" of a local variable
|
10
|
-
# continue
|
11
|
-
info-var-bug.rb:
|
10
|
+
# continue 36
|
11
|
+
info-var-bug.rb:36
|
12
12
|
return x
|
13
13
|
# info variables
|
14
|
-
|
14
|
+
self = main
|
15
|
+
x = #<Lousy_inspect:0xb7825034>
|
15
16
|
# # Go to where we have a bad "inspect" and "to_s" of a local variable
|
16
|
-
# continue
|
17
|
-
info-var-bug.rb:
|
17
|
+
# continue 40
|
18
|
+
info-var-bug.rb:40
|
18
19
|
return x
|
19
20
|
# info variables
|
21
|
+
self = main
|
20
22
|
x = *Error in evaluation*
|
21
|
-
# break
|
22
|
-
Breakpoint 1 file info-var-bug.rb, line
|
23
|
+
# break 31
|
24
|
+
Breakpoint 1 file ./info-var-bug.rb, line 31
|
23
25
|
# # The first time through, we can do inspect.
|
24
26
|
# continue
|
25
|
-
Breakpoint 1 at info-var-bug.rb:
|
26
|
-
info-var-bug.rb:
|
27
|
+
Breakpoint 1 at info-var-bug.rb:31
|
28
|
+
info-var-bug.rb:31
|
27
29
|
@b = 5
|
28
30
|
# info locals
|
29
31
|
a = 10
|
30
32
|
# # Now go to where we have a bad "inspect" of an class variable
|
31
33
|
# continue
|
32
|
-
Breakpoint 1 at info-var-bug.rb:
|
33
|
-
info-var-bug.rb:
|
34
|
+
Breakpoint 1 at info-var-bug.rb:31
|
35
|
+
info-var-bug.rb:31
|
34
36
|
@b = 5
|
35
37
|
# info locals
|
36
38
|
a = #<Lousy_inspect:0xb784945c>
|
37
39
|
# info variables
|
38
|
-
a = #<Lousy_inspect:
|
39
|
-
|
40
|
+
a = #<Lousy_inspect:0xb780ddd0>
|
41
|
+
self = #<UnsuspectingClass:0xb78075e8>
|
42
|
+
@a = #<Lousy_inspect:0xb780ddd0>
|
43
|
+
@@Const = "A constant"
|
44
|
+
@@var = "a class variable"
|
40
45
|
# # Now go to where we have a bad "inspect" and "to_s" of an class variable
|
41
46
|
# continue
|
42
|
-
Breakpoint 1 at info-var-bug.rb:
|
43
|
-
info-var-bug.rb:
|
47
|
+
Breakpoint 1 at info-var-bug.rb:31
|
48
|
+
info-var-bug.rb:31
|
44
49
|
@b = 5
|
45
50
|
# info locals
|
46
51
|
*Error in evaluation*
|