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.
Files changed (261) hide show
  1. data/AUTHORS +10 -0
  2. data/CHANGES +334 -0
  3. data/ChangeLog +5655 -0
  4. data/INSTALL.SVN +154 -0
  5. data/LICENSE +23 -0
  6. data/Makefile.am +14 -0
  7. data/OLD_README +122 -0
  8. data/README.md +10 -0
  9. data/Rakefile +266 -0
  10. data/autogen.sh +4 -0
  11. data/bin/rdebug +398 -0
  12. data/cli/ruby-debug.rb +173 -0
  13. data/cli/ruby-debug/command.rb +228 -0
  14. data/cli/ruby-debug/commands/breakpoints.rb +153 -0
  15. data/cli/ruby-debug/commands/catchpoint.rb +55 -0
  16. data/cli/ruby-debug/commands/condition.rb +49 -0
  17. data/cli/ruby-debug/commands/continue.rb +38 -0
  18. data/cli/ruby-debug/commands/control.rb +107 -0
  19. data/cli/ruby-debug/commands/display.rb +120 -0
  20. data/cli/ruby-debug/commands/edit.rb +48 -0
  21. data/cli/ruby-debug/commands/enable.rb +202 -0
  22. data/cli/ruby-debug/commands/eval.rb +176 -0
  23. data/cli/ruby-debug/commands/finish.rb +42 -0
  24. data/cli/ruby-debug/commands/frame.rb +301 -0
  25. data/cli/ruby-debug/commands/help.rb +56 -0
  26. data/cli/ruby-debug/commands/info.rb +467 -0
  27. data/cli/ruby-debug/commands/irb.rb +123 -0
  28. data/cli/ruby-debug/commands/jump.rb +66 -0
  29. data/cli/ruby-debug/commands/kill.rb +51 -0
  30. data/cli/ruby-debug/commands/list.rb +94 -0
  31. data/cli/ruby-debug/commands/method.rb +84 -0
  32. data/cli/ruby-debug/commands/quit.rb +39 -0
  33. data/cli/ruby-debug/commands/reload.rb +40 -0
  34. data/cli/ruby-debug/commands/save.rb +90 -0
  35. data/cli/ruby-debug/commands/set.rb +221 -0
  36. data/cli/ruby-debug/commands/show.rb +247 -0
  37. data/cli/ruby-debug/commands/skip.rb +35 -0
  38. data/cli/ruby-debug/commands/source.rb +36 -0
  39. data/cli/ruby-debug/commands/stepping.rb +81 -0
  40. data/cli/ruby-debug/commands/threads.rb +189 -0
  41. data/cli/ruby-debug/commands/tmate.rb +36 -0
  42. data/cli/ruby-debug/commands/trace.rb +57 -0
  43. data/cli/ruby-debug/commands/variables.rb +199 -0
  44. data/cli/ruby-debug/debugger.rb +5 -0
  45. data/cli/ruby-debug/helper.rb +69 -0
  46. data/cli/ruby-debug/interface.rb +232 -0
  47. data/cli/ruby-debug/processor.rb +474 -0
  48. data/configure.ac +12 -0
  49. data/debugger.gemspec +24 -0
  50. data/doc/.cvsignore +42 -0
  51. data/doc/Makefile.am +63 -0
  52. data/doc/emacs-notes.txt +38 -0
  53. data/doc/hanoi.rb +35 -0
  54. data/doc/primes.rb +28 -0
  55. data/doc/rdebug-emacs.texi +1030 -0
  56. data/doc/rdebug.1 +241 -0
  57. data/doc/ruby-debug.texi +3791 -0
  58. data/doc/test-tri2.rb +18 -0
  59. data/doc/tri3.rb +8 -0
  60. data/doc/triangle.rb +12 -0
  61. data/emacs/Makefile.am +130 -0
  62. data/emacs/rdebug-annotate.el +385 -0
  63. data/emacs/rdebug-breaks.el +407 -0
  64. data/emacs/rdebug-cmd.el +92 -0
  65. data/emacs/rdebug-core.el +502 -0
  66. data/emacs/rdebug-dbg.el +62 -0
  67. data/emacs/rdebug-error.el +79 -0
  68. data/emacs/rdebug-fns.el +111 -0
  69. data/emacs/rdebug-frames.el +230 -0
  70. data/emacs/rdebug-gud.el +242 -0
  71. data/emacs/rdebug-help.el +104 -0
  72. data/emacs/rdebug-info.el +83 -0
  73. data/emacs/rdebug-layouts.el +180 -0
  74. data/emacs/rdebug-locring.el +118 -0
  75. data/emacs/rdebug-output.el +106 -0
  76. data/emacs/rdebug-regexp.el +118 -0
  77. data/emacs/rdebug-secondary.el +260 -0
  78. data/emacs/rdebug-shortkey.el +175 -0
  79. data/emacs/rdebug-source.el +568 -0
  80. data/emacs/rdebug-track.el +392 -0
  81. data/emacs/rdebug-varbuf.el +150 -0
  82. data/emacs/rdebug-vars.el +125 -0
  83. data/emacs/rdebug-watch.el +132 -0
  84. data/emacs/rdebug.el +326 -0
  85. data/emacs/test/elk-test.el +242 -0
  86. data/emacs/test/test-annotate.el +103 -0
  87. data/emacs/test/test-cmd.el +116 -0
  88. data/emacs/test/test-core.el +104 -0
  89. data/emacs/test/test-fns.el +65 -0
  90. data/emacs/test/test-frames.el +62 -0
  91. data/emacs/test/test-gud.el +35 -0
  92. data/emacs/test/test-indent.el +58 -0
  93. data/emacs/test/test-regexp.el +144 -0
  94. data/emacs/test/test-shortkey.el +61 -0
  95. data/ext/ruby_debug/breakpoint.c +586 -0
  96. data/ext/ruby_debug/extconf.rb +49 -0
  97. data/ext/ruby_debug/ruby_debug.c +2624 -0
  98. data/ext/ruby_debug/ruby_debug.h +148 -0
  99. data/lib/ChangeLog +1065 -0
  100. data/lib/debugger.rb +7 -0
  101. data/lib/debugger/version.rb +3 -0
  102. data/lib/ruby-debug-base.rb +304 -0
  103. data/rdbg.rb +33 -0
  104. data/runner.sh +7 -0
  105. data/svn2cl_usermap +3 -0
  106. data/test/.cvsignore +1 -0
  107. data/test/base/base.rb +74 -0
  108. data/test/base/binding.rb +31 -0
  109. data/test/base/catchpoint.rb +26 -0
  110. data/test/base/load.rb +40 -0
  111. data/test/bp_loop_issue.rb +3 -0
  112. data/test/classes.rb +11 -0
  113. data/test/cli/commands/catchpoint_test.rb +36 -0
  114. data/test/cli/commands/unit/regexp.rb +42 -0
  115. data/test/config.yaml +8 -0
  116. data/test/data/annotate.cmd +29 -0
  117. data/test/data/annotate.right +139 -0
  118. data/test/data/break_bad.cmd +18 -0
  119. data/test/data/break_bad.right +28 -0
  120. data/test/data/break_loop_bug.cmd +5 -0
  121. data/test/data/break_loop_bug.right +15 -0
  122. data/test/data/breakpoints.cmd +38 -0
  123. data/test/data/breakpoints.right +98 -0
  124. data/test/data/catch.cmd +20 -0
  125. data/test/data/catch.right +49 -0
  126. data/test/data/catch2.cmd +19 -0
  127. data/test/data/catch2.right +65 -0
  128. data/test/data/catch3.cmd +11 -0
  129. data/test/data/catch3.right +37 -0
  130. data/test/data/condition.cmd +28 -0
  131. data/test/data/condition.right +65 -0
  132. data/test/data/ctrl.cmd +23 -0
  133. data/test/data/ctrl.right +70 -0
  134. data/test/data/display.cmd +24 -0
  135. data/test/data/display.right +44 -0
  136. data/test/data/dollar-0.right +2 -0
  137. data/test/data/dollar-0a.right +2 -0
  138. data/test/data/dollar-0b.right +2 -0
  139. data/test/data/edit.cmd +12 -0
  140. data/test/data/edit.right +19 -0
  141. data/test/data/emacs_basic.cmd +43 -0
  142. data/test/data/emacs_basic.right +106 -0
  143. data/test/data/enable.cmd +20 -0
  144. data/test/data/enable.right +36 -0
  145. data/test/data/finish.cmd +16 -0
  146. data/test/data/finish.right +31 -0
  147. data/test/data/frame.cmd +26 -0
  148. data/test/data/frame.right +55 -0
  149. data/test/data/help.cmd +20 -0
  150. data/test/data/help.right +21 -0
  151. data/test/data/history.right +7 -0
  152. data/test/data/info-thread.cmd +13 -0
  153. data/test/data/info-thread.right +37 -0
  154. data/test/data/info-var-bug2.cmd +5 -0
  155. data/test/data/info-var-bug2.right +10 -0
  156. data/test/data/info-var.cmd +23 -0
  157. data/test/data/info-var.right +52 -0
  158. data/test/data/info.cmd +21 -0
  159. data/test/data/info.right +65 -0
  160. data/test/data/jump.cmd +16 -0
  161. data/test/data/jump.right +56 -0
  162. data/test/data/jump2.cmd +16 -0
  163. data/test/data/jump2.right +44 -0
  164. data/test/data/linetrace.cmd +6 -0
  165. data/test/data/linetrace.right +23 -0
  166. data/test/data/list.cmd +19 -0
  167. data/test/data/list.right +127 -0
  168. data/test/data/method.cmd +10 -0
  169. data/test/data/method.right +21 -0
  170. data/test/data/methodsig.cmd +10 -0
  171. data/test/data/methodsig.right +20 -0
  172. data/test/data/next.cmd +22 -0
  173. data/test/data/next.right +61 -0
  174. data/test/data/noquit.right +1 -0
  175. data/test/data/output.cmd +6 -0
  176. data/test/data/output.right +31 -0
  177. data/test/data/pm-bug.cmd +7 -0
  178. data/test/data/pm-bug.right +12 -0
  179. data/test/data/post-mortem-next.cmd +8 -0
  180. data/test/data/post-mortem-next.right +14 -0
  181. data/test/data/post-mortem-osx.right +31 -0
  182. data/test/data/post-mortem.cmd +13 -0
  183. data/test/data/post-mortem.right +32 -0
  184. data/test/data/quit.cmd +6 -0
  185. data/test/data/quit.right +0 -0
  186. data/test/data/raise.cmd +11 -0
  187. data/test/data/raise.right +23 -0
  188. data/test/data/save.cmd +34 -0
  189. data/test/data/save.right +59 -0
  190. data/test/data/scope-var.cmd +42 -0
  191. data/test/data/scope-var.right +587 -0
  192. data/test/data/setshow.cmd +56 -0
  193. data/test/data/setshow.right +98 -0
  194. data/test/data/source.cmd +5 -0
  195. data/test/data/source.right +15 -0
  196. data/test/data/stepping.cmd +21 -0
  197. data/test/data/stepping.right +50 -0
  198. data/test/data/test-init-cygwin.right +7 -0
  199. data/test/data/test-init-osx.right +4 -0
  200. data/test/data/test-init.right +5 -0
  201. data/test/data/trace.right +14 -0
  202. data/test/dollar-0.rb +5 -0
  203. data/test/gcd-dbg-nox.rb +31 -0
  204. data/test/gcd-dbg.rb +30 -0
  205. data/test/gcd.rb +18 -0
  206. data/test/helper.rb +144 -0
  207. data/test/info-var-bug.rb +47 -0
  208. data/test/info-var-bug2.rb +2 -0
  209. data/test/jump.rb +14 -0
  210. data/test/jump2.rb +27 -0
  211. data/test/next.rb +18 -0
  212. data/test/null.rb +1 -0
  213. data/test/output.rb +2 -0
  214. data/test/pm-base.rb +22 -0
  215. data/test/pm-bug.rb +3 -0
  216. data/test/pm-catch.rb +12 -0
  217. data/test/pm-catch2.rb +27 -0
  218. data/test/pm-catch3.rb +47 -0
  219. data/test/pm.rb +11 -0
  220. data/test/raise.rb +3 -0
  221. data/test/rdebug-save.1 +7 -0
  222. data/test/runall +12 -0
  223. data/test/scope-var.rb +29 -0
  224. data/test/tdebug.rb +248 -0
  225. data/test/test-annotate.rb +25 -0
  226. data/test/test-break-bad.rb +37 -0
  227. data/test/test-breakpoints.rb +25 -0
  228. data/test/test-catch.rb +25 -0
  229. data/test/test-catch2.rb +25 -0
  230. data/test/test-catch3.rb +25 -0
  231. data/test/test-condition.rb +25 -0
  232. data/test/test-ctrl.rb +55 -0
  233. data/test/test-display.rb +26 -0
  234. data/test/test-dollar-0.rb +40 -0
  235. data/test/test-edit.rb +26 -0
  236. data/test/test-emacs-basic.rb +26 -0
  237. data/test/test-enable.rb +25 -0
  238. data/test/test-finish.rb +34 -0
  239. data/test/test-frame.rb +34 -0
  240. data/test/test-help.rb +60 -0
  241. data/test/test-hist.rb +68 -0
  242. data/test/test-info-thread.rb +32 -0
  243. data/test/test-info-var.rb +47 -0
  244. data/test/test-info.rb +26 -0
  245. data/test/test-init.rb +44 -0
  246. data/test/test-jump.rb +35 -0
  247. data/test/test-list.rb +25 -0
  248. data/test/test-method.rb +34 -0
  249. data/test/test-next.rb +25 -0
  250. data/test/test-output.rb +26 -0
  251. data/test/test-quit.rb +30 -0
  252. data/test/test-raise.rb +25 -0
  253. data/test/test-save.rb +31 -0
  254. data/test/test-scope-var.rb +25 -0
  255. data/test/test-setshow.rb +25 -0
  256. data/test/test-source.rb +25 -0
  257. data/test/test-stepping.rb +26 -0
  258. data/test/test-trace.rb +47 -0
  259. data/test/thread1.rb +26 -0
  260. data/test/trunc-call.rb +31 -0
  261. 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
@@ -0,0 +1,2 @@
1
+ ./dollar-0.rb
2
+ ./dollar-0.rb
@@ -0,0 +1,2 @@
1
+ ./dollar-0.rb
2
+ ./dollar-0.rb
@@ -0,0 +1,2 @@
1
+ ../test/dollar-0.rb
2
+ ../test/dollar-0.rb
@@ -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
@@ -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