debugger 1.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS +10 -0
- data/CHANGES +334 -0
- data/ChangeLog +5655 -0
- data/INSTALL.SVN +154 -0
- data/LICENSE +23 -0
- data/Makefile.am +14 -0
- data/OLD_README +122 -0
- data/README.md +10 -0
- data/Rakefile +266 -0
- data/autogen.sh +4 -0
- data/bin/rdebug +398 -0
- data/cli/ruby-debug.rb +173 -0
- data/cli/ruby-debug/command.rb +228 -0
- data/cli/ruby-debug/commands/breakpoints.rb +153 -0
- data/cli/ruby-debug/commands/catchpoint.rb +55 -0
- data/cli/ruby-debug/commands/condition.rb +49 -0
- data/cli/ruby-debug/commands/continue.rb +38 -0
- data/cli/ruby-debug/commands/control.rb +107 -0
- data/cli/ruby-debug/commands/display.rb +120 -0
- data/cli/ruby-debug/commands/edit.rb +48 -0
- data/cli/ruby-debug/commands/enable.rb +202 -0
- data/cli/ruby-debug/commands/eval.rb +176 -0
- data/cli/ruby-debug/commands/finish.rb +42 -0
- data/cli/ruby-debug/commands/frame.rb +301 -0
- data/cli/ruby-debug/commands/help.rb +56 -0
- data/cli/ruby-debug/commands/info.rb +467 -0
- data/cli/ruby-debug/commands/irb.rb +123 -0
- data/cli/ruby-debug/commands/jump.rb +66 -0
- data/cli/ruby-debug/commands/kill.rb +51 -0
- data/cli/ruby-debug/commands/list.rb +94 -0
- data/cli/ruby-debug/commands/method.rb +84 -0
- data/cli/ruby-debug/commands/quit.rb +39 -0
- data/cli/ruby-debug/commands/reload.rb +40 -0
- data/cli/ruby-debug/commands/save.rb +90 -0
- data/cli/ruby-debug/commands/set.rb +221 -0
- data/cli/ruby-debug/commands/show.rb +247 -0
- data/cli/ruby-debug/commands/skip.rb +35 -0
- data/cli/ruby-debug/commands/source.rb +36 -0
- data/cli/ruby-debug/commands/stepping.rb +81 -0
- data/cli/ruby-debug/commands/threads.rb +189 -0
- data/cli/ruby-debug/commands/tmate.rb +36 -0
- data/cli/ruby-debug/commands/trace.rb +57 -0
- data/cli/ruby-debug/commands/variables.rb +199 -0
- data/cli/ruby-debug/debugger.rb +5 -0
- data/cli/ruby-debug/helper.rb +69 -0
- data/cli/ruby-debug/interface.rb +232 -0
- data/cli/ruby-debug/processor.rb +474 -0
- data/configure.ac +12 -0
- data/debugger.gemspec +24 -0
- data/doc/.cvsignore +42 -0
- data/doc/Makefile.am +63 -0
- data/doc/emacs-notes.txt +38 -0
- data/doc/hanoi.rb +35 -0
- data/doc/primes.rb +28 -0
- data/doc/rdebug-emacs.texi +1030 -0
- data/doc/rdebug.1 +241 -0
- data/doc/ruby-debug.texi +3791 -0
- data/doc/test-tri2.rb +18 -0
- data/doc/tri3.rb +8 -0
- data/doc/triangle.rb +12 -0
- data/emacs/Makefile.am +130 -0
- data/emacs/rdebug-annotate.el +385 -0
- data/emacs/rdebug-breaks.el +407 -0
- data/emacs/rdebug-cmd.el +92 -0
- data/emacs/rdebug-core.el +502 -0
- data/emacs/rdebug-dbg.el +62 -0
- data/emacs/rdebug-error.el +79 -0
- data/emacs/rdebug-fns.el +111 -0
- data/emacs/rdebug-frames.el +230 -0
- data/emacs/rdebug-gud.el +242 -0
- data/emacs/rdebug-help.el +104 -0
- data/emacs/rdebug-info.el +83 -0
- data/emacs/rdebug-layouts.el +180 -0
- data/emacs/rdebug-locring.el +118 -0
- data/emacs/rdebug-output.el +106 -0
- data/emacs/rdebug-regexp.el +118 -0
- data/emacs/rdebug-secondary.el +260 -0
- data/emacs/rdebug-shortkey.el +175 -0
- data/emacs/rdebug-source.el +568 -0
- data/emacs/rdebug-track.el +392 -0
- data/emacs/rdebug-varbuf.el +150 -0
- data/emacs/rdebug-vars.el +125 -0
- data/emacs/rdebug-watch.el +132 -0
- data/emacs/rdebug.el +326 -0
- data/emacs/test/elk-test.el +242 -0
- data/emacs/test/test-annotate.el +103 -0
- data/emacs/test/test-cmd.el +116 -0
- data/emacs/test/test-core.el +104 -0
- data/emacs/test/test-fns.el +65 -0
- data/emacs/test/test-frames.el +62 -0
- data/emacs/test/test-gud.el +35 -0
- data/emacs/test/test-indent.el +58 -0
- data/emacs/test/test-regexp.el +144 -0
- data/emacs/test/test-shortkey.el +61 -0
- data/ext/ruby_debug/breakpoint.c +586 -0
- data/ext/ruby_debug/extconf.rb +49 -0
- data/ext/ruby_debug/ruby_debug.c +2624 -0
- data/ext/ruby_debug/ruby_debug.h +148 -0
- data/lib/ChangeLog +1065 -0
- data/lib/debugger.rb +7 -0
- data/lib/debugger/version.rb +3 -0
- data/lib/ruby-debug-base.rb +304 -0
- data/rdbg.rb +33 -0
- data/runner.sh +7 -0
- data/svn2cl_usermap +3 -0
- data/test/.cvsignore +1 -0
- data/test/base/base.rb +74 -0
- data/test/base/binding.rb +31 -0
- data/test/base/catchpoint.rb +26 -0
- data/test/base/load.rb +40 -0
- data/test/bp_loop_issue.rb +3 -0
- data/test/classes.rb +11 -0
- data/test/cli/commands/catchpoint_test.rb +36 -0
- data/test/cli/commands/unit/regexp.rb +42 -0
- data/test/config.yaml +8 -0
- data/test/data/annotate.cmd +29 -0
- data/test/data/annotate.right +139 -0
- data/test/data/break_bad.cmd +18 -0
- data/test/data/break_bad.right +28 -0
- data/test/data/break_loop_bug.cmd +5 -0
- data/test/data/break_loop_bug.right +15 -0
- data/test/data/breakpoints.cmd +38 -0
- data/test/data/breakpoints.right +98 -0
- data/test/data/catch.cmd +20 -0
- data/test/data/catch.right +49 -0
- data/test/data/catch2.cmd +19 -0
- data/test/data/catch2.right +65 -0
- data/test/data/catch3.cmd +11 -0
- data/test/data/catch3.right +37 -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 +70 -0
- data/test/data/display.cmd +24 -0
- data/test/data/display.right +44 -0
- 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/data/emacs_basic.cmd +43 -0
- data/test/data/emacs_basic.right +106 -0
- 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 +31 -0
- data/test/data/frame.cmd +26 -0
- data/test/data/frame.right +55 -0
- data/test/data/help.cmd +20 -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/data/info-var.cmd +23 -0
- data/test/data/info-var.right +52 -0
- data/test/data/info.cmd +21 -0
- data/test/data/info.right +65 -0
- data/test/data/jump.cmd +16 -0
- data/test/data/jump.right +56 -0
- data/test/data/jump2.cmd +16 -0
- data/test/data/jump2.right +44 -0
- data/test/data/linetrace.cmd +6 -0
- data/test/data/linetrace.right +23 -0
- data/test/data/list.cmd +19 -0
- data/test/data/list.right +127 -0
- data/test/data/method.cmd +10 -0
- data/test/data/method.right +21 -0
- data/test/data/methodsig.cmd +10 -0
- data/test/data/methodsig.right +20 -0
- data/test/data/next.cmd +22 -0
- data/test/data/next.right +61 -0
- data/test/data/noquit.right +1 -0
- data/test/data/output.cmd +6 -0
- data/test/data/output.right +31 -0
- data/test/data/pm-bug.cmd +7 -0
- data/test/data/pm-bug.right +12 -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 +32 -0
- data/test/data/quit.cmd +6 -0
- data/test/data/quit.right +0 -0
- data/test/data/raise.cmd +11 -0
- data/test/data/raise.right +23 -0
- data/test/data/save.cmd +34 -0
- data/test/data/save.right +59 -0
- data/test/data/scope-var.cmd +42 -0
- data/test/data/scope-var.right +587 -0
- data/test/data/setshow.cmd +56 -0
- data/test/data/setshow.right +98 -0
- data/test/data/source.cmd +5 -0
- data/test/data/source.right +15 -0
- data/test/data/stepping.cmd +21 -0
- data/test/data/stepping.right +50 -0
- 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 +14 -0
- data/test/dollar-0.rb +5 -0
- data/test/gcd-dbg-nox.rb +31 -0
- data/test/gcd-dbg.rb +30 -0
- data/test/gcd.rb +18 -0
- data/test/helper.rb +144 -0
- data/test/info-var-bug.rb +47 -0
- data/test/info-var-bug2.rb +2 -0
- data/test/jump.rb +14 -0
- data/test/jump2.rb +27 -0
- data/test/next.rb +18 -0
- data/test/null.rb +1 -0
- data/test/output.rb +2 -0
- data/test/pm-base.rb +22 -0
- data/test/pm-bug.rb +3 -0
- data/test/pm-catch.rb +12 -0
- data/test/pm-catch2.rb +27 -0
- data/test/pm-catch3.rb +47 -0
- data/test/pm.rb +11 -0
- data/test/raise.rb +3 -0
- data/test/rdebug-save.1 +7 -0
- data/test/runall +12 -0
- data/test/scope-var.rb +29 -0
- data/test/tdebug.rb +248 -0
- data/test/test-annotate.rb +25 -0
- data/test/test-break-bad.rb +37 -0
- data/test/test-breakpoints.rb +25 -0
- data/test/test-catch.rb +25 -0
- data/test/test-catch2.rb +25 -0
- data/test/test-catch3.rb +25 -0
- data/test/test-condition.rb +25 -0
- data/test/test-ctrl.rb +55 -0
- data/test/test-display.rb +26 -0
- data/test/test-dollar-0.rb +40 -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 +34 -0
- data/test/test-help.rb +60 -0
- data/test/test-hist.rb +68 -0
- data/test/test-info-thread.rb +32 -0
- data/test/test-info-var.rb +47 -0
- data/test/test-info.rb +26 -0
- data/test/test-init.rb +44 -0
- data/test/test-jump.rb +35 -0
- data/test/test-list.rb +25 -0
- data/test/test-method.rb +34 -0
- data/test/test-next.rb +25 -0
- data/test/test-output.rb +26 -0
- data/test/test-quit.rb +30 -0
- data/test/test-raise.rb +25 -0
- data/test/test-save.rb +31 -0
- data/test/test-scope-var.rb +25 -0
- data/test/test-setshow.rb +25 -0
- data/test/test-source.rb +25 -0
- data/test/test-stepping.rb +26 -0
- data/test/test-trace.rb +47 -0
- data/test/thread1.rb +26 -0
- data/test/trunc-call.rb +31 -0
- metadata +364 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
# ***************************************************
|
2
|
+
# This tests display expressions.
|
3
|
+
# ***************************************************
|
4
|
+
set debuggertesting on
|
5
|
+
b 6
|
6
|
+
c
|
7
|
+
# Should be no display expression yet.
|
8
|
+
info display
|
9
|
+
display a
|
10
|
+
display b
|
11
|
+
disable display b
|
12
|
+
disable display 1
|
13
|
+
c
|
14
|
+
enable display b
|
15
|
+
enable display 1
|
16
|
+
undisplay a
|
17
|
+
undisplay 2
|
18
|
+
# Should have only one display expression.
|
19
|
+
info display
|
20
|
+
undisplay 1
|
21
|
+
# Now we have no more display expressions.
|
22
|
+
info display
|
23
|
+
q
|
24
|
+
|
@@ -0,0 +1,44 @@
|
|
1
|
+
gcd.rb:4
|
2
|
+
def gcd(a, b)
|
3
|
+
# # ***************************************************
|
4
|
+
# # This tests display expressions.
|
5
|
+
# # ***************************************************
|
6
|
+
# set debuggertesting on
|
7
|
+
Currently testing the debugger is on.
|
8
|
+
# b 6
|
9
|
+
Breakpoint 1 file ./gcd.rb, line 6
|
10
|
+
# c
|
11
|
+
Breakpoint 1 at gcd.rb:6
|
12
|
+
gcd.rb:6
|
13
|
+
if a > b
|
14
|
+
# # Should be no display expression yet.
|
15
|
+
# info display
|
16
|
+
There are no auto-display expressions now.
|
17
|
+
# display a
|
18
|
+
1: a = 3
|
19
|
+
# display b
|
20
|
+
2: b = 5
|
21
|
+
# disable display b
|
22
|
+
Disable display argument 'b' needs to be a number.
|
23
|
+
# disable display 1
|
24
|
+
# c
|
25
|
+
Breakpoint 1 at gcd.rb:6
|
26
|
+
2: b = 3
|
27
|
+
gcd.rb:6
|
28
|
+
if a > b
|
29
|
+
# enable display b
|
30
|
+
Enable display argument 'b' needs to be a number.
|
31
|
+
# enable display 1
|
32
|
+
# undisplay a
|
33
|
+
Undisplay argument 'a' needs to be a number.
|
34
|
+
# undisplay 2
|
35
|
+
# # Should have only one display expression.
|
36
|
+
# info display
|
37
|
+
Auto-display expressions now in effect:
|
38
|
+
Num Enb Expression
|
39
|
+
1: y a
|
40
|
+
# undisplay 1
|
41
|
+
# # Now we have no more display expressions.
|
42
|
+
# info display
|
43
|
+
There are no auto-display expressions now.
|
44
|
+
# q
|
data/test/data/edit.cmd
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# ********************************************************
|
2
|
+
# This tests the edit command
|
3
|
+
# ********************************************************
|
4
|
+
set debuggertesting on
|
5
|
+
# Edit using current line position.
|
6
|
+
edit
|
7
|
+
edit gcd.rb:5
|
8
|
+
# File should not exist
|
9
|
+
edit foo
|
10
|
+
# Add space to the end of 'edit'
|
11
|
+
edit
|
12
|
+
quit
|
@@ -0,0 +1,19 @@
|
|
1
|
+
gcd.rb:4
|
2
|
+
def gcd(a, b)
|
3
|
+
# # ********************************************************
|
4
|
+
# # This tests the edit command
|
5
|
+
# # ********************************************************
|
6
|
+
# set debuggertesting on
|
7
|
+
Currently testing the debugger is on.
|
8
|
+
# # Edit using current line position.
|
9
|
+
# edit
|
10
|
+
FAKE-EDITOR +4 ./gcd.rb
|
11
|
+
# edit gcd.rb:5
|
12
|
+
FAKE-EDITOR +5 gcd.rb
|
13
|
+
# # File should not exist
|
14
|
+
# edit foo
|
15
|
+
*** Invalid file/line number specification: foo
|
16
|
+
# # Add space to the end of 'edit'
|
17
|
+
# edit
|
18
|
+
FAKE-EDITOR +4 ./gcd.rb
|
19
|
+
# quit
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# ********************************************************
|
2
|
+
# This tests step, next, finish, continue, disable and
|
3
|
+
# enable.
|
4
|
+
# FIXME: break out enable/disable
|
5
|
+
# ********************************************************
|
6
|
+
set debuggertesting on
|
7
|
+
set callstyle last
|
8
|
+
set autoeval off
|
9
|
+
break 6
|
10
|
+
break 10
|
11
|
+
continue
|
12
|
+
where
|
13
|
+
break Foo.bar
|
14
|
+
break Object.gcd
|
15
|
+
info break
|
16
|
+
continue
|
17
|
+
where
|
18
|
+
info program
|
19
|
+
c 10
|
20
|
+
info break
|
21
|
+
break foo
|
22
|
+
info break
|
23
|
+
disable 1
|
24
|
+
info break
|
25
|
+
enable breakpoint 1
|
26
|
+
enable br 10
|
27
|
+
delete 1
|
28
|
+
# We should see breakpoint 2 but not 1
|
29
|
+
info break
|
30
|
+
# We should still be able to access 2
|
31
|
+
disable 2
|
32
|
+
enable
|
33
|
+
enable foo
|
34
|
+
disable bar
|
35
|
+
disable
|
36
|
+
# We should be able to delete 2
|
37
|
+
delete 2 3
|
38
|
+
info break
|
39
|
+
# Should get a message about having no breakpoints.
|
40
|
+
disable 1
|
41
|
+
enable 1
|
42
|
+
# finish
|
43
|
+
quit
|
@@ -0,0 +1,106 @@
|
|
1
|
+
gcd.rb:4
|
2
|
+
def gcd(a, b)
|
3
|
+
# # ********************************************************
|
4
|
+
# # This tests step, next, finish, continue, disable and
|
5
|
+
# # enable.
|
6
|
+
# # FIXME: break out enable/disable
|
7
|
+
# # ********************************************************
|
8
|
+
# set debuggertesting on
|
9
|
+
Currently testing the debugger is on.
|
10
|
+
# set callstyle last
|
11
|
+
Frame call-display style is last.
|
12
|
+
# set autoeval off
|
13
|
+
autoeval is off.
|
14
|
+
# break 6
|
15
|
+
Breakpoint 1 file ./gcd.rb, line 6
|
16
|
+
# break 10
|
17
|
+
Breakpoint 2 file ./gcd.rb, line 10
|
18
|
+
# continue
|
19
|
+
Breakpoint 1 at gcd.rb:6
|
20
|
+
gcd.rb:6
|
21
|
+
if a > b
|
22
|
+
# where
|
23
|
+
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
24
|
+
#1 at line gcd.rb:18
|
25
|
+
# break Foo.bar
|
26
|
+
*** Unknown class Foo.
|
27
|
+
# break Object.gcd
|
28
|
+
Breakpoint 3 at Object::gcd
|
29
|
+
# info break
|
30
|
+
Num Enb What
|
31
|
+
1 y at ./gcd.rb:6
|
32
|
+
breakpoint already hit 1 time
|
33
|
+
2 y at ./gcd.rb:10
|
34
|
+
3 y at Object:gcd
|
35
|
+
# continue
|
36
|
+
Breakpoint 2 at gcd.rb:10
|
37
|
+
gcd.rb:10
|
38
|
+
return nil if a <= 0
|
39
|
+
# where
|
40
|
+
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:10
|
41
|
+
#1 at line gcd.rb:18
|
42
|
+
# info program
|
43
|
+
Program stopped. It stopped at a breakpoint.
|
44
|
+
# c 10
|
45
|
+
Breakpoint 3 at Object:gcd
|
46
|
+
gcd.rb:4
|
47
|
+
def gcd(a, b)
|
48
|
+
# info break
|
49
|
+
Num Enb What
|
50
|
+
1 y at ./gcd.rb:6
|
51
|
+
breakpoint already hit 1 time
|
52
|
+
2 y at ./gcd.rb:10
|
53
|
+
breakpoint already hit 1 time
|
54
|
+
3 y at Object:gcd
|
55
|
+
breakpoint already hit 1 time
|
56
|
+
# break foo
|
57
|
+
*** Invalid breakpoint location: foo.
|
58
|
+
# info break
|
59
|
+
Num Enb What
|
60
|
+
1 y at ./gcd.rb:6
|
61
|
+
breakpoint already hit 1 time
|
62
|
+
2 y at ./gcd.rb:10
|
63
|
+
breakpoint already hit 1 time
|
64
|
+
3 y at Object:gcd
|
65
|
+
breakpoint already hit 1 time
|
66
|
+
# disable 1
|
67
|
+
# info break
|
68
|
+
Num Enb What
|
69
|
+
1 n at ./gcd.rb:6
|
70
|
+
breakpoint already hit 1 time
|
71
|
+
2 y at ./gcd.rb:10
|
72
|
+
breakpoint already hit 1 time
|
73
|
+
3 y at Object:gcd
|
74
|
+
breakpoint already hit 1 time
|
75
|
+
# enable breakpoint 1
|
76
|
+
# enable br 10
|
77
|
+
Enable breakpoints argument '10' needs to at most 3.
|
78
|
+
# delete 1
|
79
|
+
# # We should see breakpoint 2 but not 1
|
80
|
+
# info break
|
81
|
+
Num Enb What
|
82
|
+
2 y at ./gcd.rb:10
|
83
|
+
breakpoint already hit 1 time
|
84
|
+
3 y at Object:gcd
|
85
|
+
breakpoint already hit 1 time
|
86
|
+
# # We should still be able to access 2
|
87
|
+
# disable 2
|
88
|
+
# enable
|
89
|
+
*** "enable" must be followed "display", "breakpoints" or breakpoint numbers.
|
90
|
+
# enable foo
|
91
|
+
Enable breakpoints argument 'foo' needs to be a number.
|
92
|
+
# disable bar
|
93
|
+
Disable breakpoints argument 'bar' needs to be a number.
|
94
|
+
# disable
|
95
|
+
*** "disable" must be followed "display", "breakpoints" or breakpoint numbers.
|
96
|
+
# # We should be able to delete 2
|
97
|
+
# delete 2 3
|
98
|
+
# info break
|
99
|
+
No breakpoints.
|
100
|
+
# # Should get a message about having no breakpoints.
|
101
|
+
# disable 1
|
102
|
+
*** No breakpoints have been set.
|
103
|
+
# enable 1
|
104
|
+
*** No breakpoints have been set.
|
105
|
+
# # finish
|
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,31 @@
|
|
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.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:15
|
29
|
+
#2 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:15
|
30
|
+
#3 at line gcd.rb:18
|
31
|
+
# finish 0
|
data/test/data/frame.cmd
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# ***************************************************
|
2
|
+
# This tests step, next, finish and continue
|
3
|
+
# ***************************************************
|
4
|
+
set debuggertesting on
|
5
|
+
set callstyle last
|
6
|
+
# Invalid line number in continue command
|
7
|
+
continue 3
|
8
|
+
# This time, for sure!
|
9
|
+
continue 6
|
10
|
+
where
|
11
|
+
up
|
12
|
+
where
|
13
|
+
down
|
14
|
+
where
|
15
|
+
frame
|
16
|
+
where
|
17
|
+
frame -1
|
18
|
+
where
|
19
|
+
up 2
|
20
|
+
where
|
21
|
+
down 2
|
22
|
+
where
|
23
|
+
frame 0 thread 3
|
24
|
+
frame 0 thread 1
|
25
|
+
# finish
|
26
|
+
quit
|
@@ -0,0 +1,55 @@
|
|
1
|
+
gcd.rb:4
|
2
|
+
def gcd(a, b)
|
3
|
+
# # ***************************************************
|
4
|
+
# # This tests step, next, finish and continue
|
5
|
+
# # ***************************************************
|
6
|
+
# set debuggertesting on
|
7
|
+
Currently testing the debugger is on.
|
8
|
+
# set callstyle last
|
9
|
+
Frame call-display style is last.
|
10
|
+
# # Invalid line number in continue command
|
11
|
+
# continue 3
|
12
|
+
*** Line 3 is not a stopping point in file "gcd.rb".
|
13
|
+
# # This time, for sure!
|
14
|
+
# continue 6
|
15
|
+
gcd.rb:6
|
16
|
+
if a > b
|
17
|
+
# where
|
18
|
+
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
19
|
+
#1 at line gcd.rb:18
|
20
|
+
# up
|
21
|
+
#1 at line gcd.rb:18
|
22
|
+
# where
|
23
|
+
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
24
|
+
--> #1 at line gcd.rb:18
|
25
|
+
# down
|
26
|
+
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
27
|
+
# where
|
28
|
+
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
29
|
+
#1 at line gcd.rb:18
|
30
|
+
# frame
|
31
|
+
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
32
|
+
# where
|
33
|
+
--> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
34
|
+
#1 at line gcd.rb:18
|
35
|
+
# frame -1
|
36
|
+
#1 at line gcd.rb:18
|
37
|
+
# where
|
38
|
+
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
39
|
+
--> #1 at line gcd.rb:18
|
40
|
+
# up 2
|
41
|
+
*** Adjusting would put us beyond the oldest (initial) frame.
|
42
|
+
# where
|
43
|
+
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
44
|
+
--> #1 at line gcd.rb:18
|
45
|
+
# down 2
|
46
|
+
*** Adjusting would put us beyond the newest (innermost) frame.
|
47
|
+
# where
|
48
|
+
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
49
|
+
--> #1 at line gcd.rb:18
|
50
|
+
# frame 0 thread 3
|
51
|
+
*** Thread 3 doesn't exist.
|
52
|
+
# frame 0 thread 1
|
53
|
+
#0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
|
54
|
+
# # finish
|
55
|
+
# quit
|