debugger2 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.travis.yml +3 -0
  4. data/AUTHORS +10 -0
  5. data/CHANGELOG.md +65 -0
  6. data/CONTRIBUTING.md +1 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +23 -0
  9. data/OLDER_CHANGELOG +334 -0
  10. data/OLD_CHANGELOG +5655 -0
  11. data/OLD_README +122 -0
  12. data/README.md +108 -0
  13. data/Rakefile +78 -0
  14. data/bin/rdebug +397 -0
  15. data/debugger2.gemspec +29 -0
  16. data/doc/.cvsignore +42 -0
  17. data/doc/Makefile.am +63 -0
  18. data/doc/emacs-notes.txt +38 -0
  19. data/doc/hanoi.rb +35 -0
  20. data/doc/primes.rb +28 -0
  21. data/doc/rdebug-emacs.texi +1030 -0
  22. data/doc/ruby-debug.texi +3791 -0
  23. data/doc/test-tri2.rb +18 -0
  24. data/doc/tri3.rb +8 -0
  25. data/doc/triangle.rb +12 -0
  26. data/emacs/Makefile.am +130 -0
  27. data/emacs/rdebug-annotate.el +385 -0
  28. data/emacs/rdebug-breaks.el +407 -0
  29. data/emacs/rdebug-cmd.el +92 -0
  30. data/emacs/rdebug-core.el +502 -0
  31. data/emacs/rdebug-dbg.el +62 -0
  32. data/emacs/rdebug-error.el +79 -0
  33. data/emacs/rdebug-fns.el +111 -0
  34. data/emacs/rdebug-frames.el +230 -0
  35. data/emacs/rdebug-gud.el +242 -0
  36. data/emacs/rdebug-help.el +104 -0
  37. data/emacs/rdebug-info.el +83 -0
  38. data/emacs/rdebug-layouts.el +180 -0
  39. data/emacs/rdebug-locring.el +118 -0
  40. data/emacs/rdebug-output.el +106 -0
  41. data/emacs/rdebug-regexp.el +118 -0
  42. data/emacs/rdebug-secondary.el +260 -0
  43. data/emacs/rdebug-shortkey.el +175 -0
  44. data/emacs/rdebug-source.el +568 -0
  45. data/emacs/rdebug-track.el +392 -0
  46. data/emacs/rdebug-varbuf.el +150 -0
  47. data/emacs/rdebug-vars.el +125 -0
  48. data/emacs/rdebug-watch.el +132 -0
  49. data/emacs/rdebug.el +326 -0
  50. data/emacs/test/elk-test.el +242 -0
  51. data/emacs/test/test-annotate.el +103 -0
  52. data/emacs/test/test-cmd.el +116 -0
  53. data/emacs/test/test-core.el +104 -0
  54. data/emacs/test/test-fns.el +65 -0
  55. data/emacs/test/test-frames.el +62 -0
  56. data/emacs/test/test-gud.el +35 -0
  57. data/emacs/test/test-indent.el +58 -0
  58. data/emacs/test/test-regexp.el +144 -0
  59. data/emacs/test/test-shortkey.el +61 -0
  60. data/ext/ruby_debug/breakpoint.c +630 -0
  61. data/ext/ruby_debug/extconf.rb +11 -0
  62. data/ext/ruby_debug/ruby_debug.c +2203 -0
  63. data/ext/ruby_debug/ruby_debug.h +151 -0
  64. data/lib/debugger.rb +5 -0
  65. data/lib/debugger/version.rb +5 -0
  66. data/lib/debugger2.rb +6 -0
  67. data/lib/ruby-debug-base.rb +307 -0
  68. data/lib/ruby-debug.rb +176 -0
  69. data/lib/ruby-debug/command.rb +227 -0
  70. data/lib/ruby-debug/commands/breakpoints.rb +153 -0
  71. data/lib/ruby-debug/commands/catchpoint.rb +55 -0
  72. data/lib/ruby-debug/commands/condition.rb +49 -0
  73. data/lib/ruby-debug/commands/continue.rb +38 -0
  74. data/lib/ruby-debug/commands/control.rb +107 -0
  75. data/lib/ruby-debug/commands/display.rb +120 -0
  76. data/lib/ruby-debug/commands/edit.rb +48 -0
  77. data/lib/ruby-debug/commands/enable.rb +202 -0
  78. data/lib/ruby-debug/commands/eval.rb +176 -0
  79. data/lib/ruby-debug/commands/finish.rb +42 -0
  80. data/lib/ruby-debug/commands/frame.rb +301 -0
  81. data/lib/ruby-debug/commands/help.rb +56 -0
  82. data/lib/ruby-debug/commands/info.rb +467 -0
  83. data/lib/ruby-debug/commands/irb.rb +123 -0
  84. data/lib/ruby-debug/commands/jump.rb +66 -0
  85. data/lib/ruby-debug/commands/kill.rb +51 -0
  86. data/lib/ruby-debug/commands/list.rb +94 -0
  87. data/lib/ruby-debug/commands/method.rb +84 -0
  88. data/lib/ruby-debug/commands/quit.rb +39 -0
  89. data/lib/ruby-debug/commands/reload.rb +40 -0
  90. data/lib/ruby-debug/commands/save.rb +90 -0
  91. data/lib/ruby-debug/commands/set.rb +223 -0
  92. data/lib/ruby-debug/commands/show.rb +247 -0
  93. data/lib/ruby-debug/commands/skip.rb +35 -0
  94. data/lib/ruby-debug/commands/source.rb +36 -0
  95. data/lib/ruby-debug/commands/stepping.rb +81 -0
  96. data/lib/ruby-debug/commands/threads.rb +189 -0
  97. data/lib/ruby-debug/commands/tmate.rb +36 -0
  98. data/lib/ruby-debug/commands/trace.rb +57 -0
  99. data/lib/ruby-debug/commands/variables.rb +199 -0
  100. data/lib/ruby-debug/debugger.rb +5 -0
  101. data/lib/ruby-debug/helper.rb +69 -0
  102. data/lib/ruby-debug/interface.rb +232 -0
  103. data/lib/ruby-debug/processor.rb +474 -0
  104. data/man/rdebug.1 +241 -0
  105. data/old_scripts/Makefile.am +14 -0
  106. data/old_scripts/README.md +2 -0
  107. data/old_scripts/autogen.sh +4 -0
  108. data/old_scripts/configure.ac +12 -0
  109. data/old_scripts/rdbg.rb +33 -0
  110. data/old_scripts/runner.sh +7 -0
  111. data/old_scripts/svn2cl_usermap +3 -0
  112. data/test/.cvsignore +1 -0
  113. data/test/breakpoints_test.rb +366 -0
  114. data/test/conditions_test.rb +77 -0
  115. data/test/continue_test.rb +28 -0
  116. data/test/display_test.rb +143 -0
  117. data/test/edit_test.rb +55 -0
  118. data/test/eval_test.rb +94 -0
  119. data/test/examples/breakpoint1.rb +15 -0
  120. data/test/examples/breakpoint2.rb +7 -0
  121. data/test/examples/conditions.rb +4 -0
  122. data/test/examples/continue.rb +4 -0
  123. data/test/examples/display.rb +5 -0
  124. data/test/examples/edit.rb +3 -0
  125. data/test/examples/edit2.rb +3 -0
  126. data/test/examples/eval.rb +4 -0
  127. data/test/examples/finish.rb +20 -0
  128. data/test/examples/frame.rb +31 -0
  129. data/test/examples/help.rb +2 -0
  130. data/test/examples/info.rb +48 -0
  131. data/test/examples/info2.rb +3 -0
  132. data/test/examples/irb.rb +6 -0
  133. data/test/examples/jump.rb +14 -0
  134. data/test/examples/kill.rb +2 -0
  135. data/test/examples/list.rb +12 -0
  136. data/test/examples/method.rb +15 -0
  137. data/test/examples/post_mortem.rb +19 -0
  138. data/test/examples/quit.rb +2 -0
  139. data/test/examples/reload.rb +6 -0
  140. data/test/examples/restart.rb +6 -0
  141. data/test/examples/save.rb +3 -0
  142. data/test/examples/set.rb +3 -0
  143. data/test/examples/set_annotate.rb +12 -0
  144. data/test/examples/settings.rb +1 -0
  145. data/test/examples/show.rb +2 -0
  146. data/test/examples/source.rb +3 -0
  147. data/test/examples/stepping.rb +21 -0
  148. data/test/examples/thread.rb +32 -0
  149. data/test/examples/tmate.rb +10 -0
  150. data/test/examples/trace.rb +7 -0
  151. data/test/examples/trace_threads.rb +20 -0
  152. data/test/examples/variables.rb +26 -0
  153. data/test/finish_test.rb +49 -0
  154. data/test/frame_test.rb +140 -0
  155. data/test/help_test.rb +51 -0
  156. data/test/info_test.rb +326 -0
  157. data/test/irb_test.rb +82 -0
  158. data/test/jump_test.rb +70 -0
  159. data/test/kill_test.rb +49 -0
  160. data/test/list_test.rb +147 -0
  161. data/test/method_test.rb +72 -0
  162. data/test/post_mortem_test.rb +25 -0
  163. data/test/quit_test.rb +56 -0
  164. data/test/reload_test.rb +47 -0
  165. data/test/restart_test.rb +145 -0
  166. data/test/save_test.rb +94 -0
  167. data/test/set_test.rb +183 -0
  168. data/test/show_test.rb +294 -0
  169. data/test/source_test.rb +46 -0
  170. data/test/stepping_test.rb +122 -0
  171. data/test/support/breakpoint.rb +12 -0
  172. data/test/support/context.rb +14 -0
  173. data/test/support/matchers.rb +67 -0
  174. data/test/support/mocha_extensions.rb +71 -0
  175. data/test/support/processor.rb +7 -0
  176. data/test/support/test_dsl.rb +206 -0
  177. data/test/support/test_interface.rb +66 -0
  178. data/test/test_helper.rb +9 -0
  179. data/test/thread_test.rb +124 -0
  180. data/test/tmate_test.rb +45 -0
  181. data/test/trace_test.rb +156 -0
  182. data/test/variables_test.rb +116 -0
  183. metadata +319 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d1acd9153e7a2798587065acd3102f7056e7d043
4
+ data.tar.gz: 626c7391ddf642131f64e4406e1c35eeb1a62d81
5
+ SHA512:
6
+ metadata.gz: 4b4f42dbf7bf312d3310723da472819ce079b81a4627296cf5b4c931ddc0f36b3104cb43d53409fc8998f6d3b7e257554ea6f08b286bef05288ba069cadc062b
7
+ data.tar.gz: bfa3fb61e55431ae673d0d64c9592c3719f593a75c65029993aadb1bd00b7e529585f5fb15b5e536a3e3a38e57955ac7cc7d994ea0d3385f88da159032588ba0
@@ -0,0 +1,12 @@
1
+ tmp
2
+ vendor/bundle
3
+ pkg/*
4
+
5
+ .rvmrc
6
+ .gdbinit
7
+ .gdb_history
8
+ .bundle
9
+
10
+ lib/ruby_debug.bundle
11
+
12
+ Gemfile.lock
@@ -0,0 +1,3 @@
1
+ before_script: rake compile
2
+ rvm:
3
+ - 2.0.0
data/AUTHORS ADDED
@@ -0,0 +1,10 @@
1
+ Author:
2
+ Kent Sibilev
3
+
4
+ Contributors:
5
+ Markus Barchfeld
6
+ R. Bernstein
7
+ Anders Lindgren
8
+
9
+ Contributor and maintainer:
10
+ Mark Moseley
@@ -0,0 +1,65 @@
1
+ ## 1.3.3
2
+ * Bump ruby_core_source dependency
3
+
4
+ ## 1.3.2
5
+ * Bump ruby_core_source dependency
6
+
7
+ ## 1.3.1
8
+ * Bump ruby_core_source dependency
9
+
10
+ ## 1.3.0 - thanks to @astashov
11
+ * New and improved test suite
12
+ * Fix line tracing
13
+ * Fix source reloading
14
+ * Fix error message of jump command
15
+ * Fix trace and trace all commands
16
+ * Fix -d flag to irb command
17
+ * Fix method command being detected
18
+
19
+ ## 1.2.4
20
+ * Bump ruby_core_source dependency
21
+
22
+ ## 1.2.3
23
+ * Bump ruby_core_source dependency
24
+
25
+ ## 1.2.2
26
+ * Bump ruby_core_source dependency
27
+
28
+ ## 1.2.1
29
+ * Bump ruby_core_source dependency
30
+
31
+ ## 1.2.0
32
+ * Add the ability to query the command and control port when starting remote debugging
33
+
34
+ ## 1.1.4
35
+ * Bump ruby_core_source dependency
36
+
37
+ ## 1.1.3
38
+ * Bump dependencies
39
+
40
+ ## 1.1.2
41
+ * Fix where command failing at the top level
42
+
43
+ ## 1.1.1
44
+ * Fix allowing user's to pass --with-ruby-include
45
+ * Improve rvm src autodetection - works for 1.9.3-head
46
+
47
+ ## 1.1.0
48
+ * Point to new debugger-ruby_core_source API
49
+ * General cleanup
50
+ * fix rdebug version
51
+
52
+ ## 1.0.1
53
+ * Fix ruby-debug not being loaded from debugger.rb
54
+
55
+ ## 1.0.0
56
+ * Add back 1.9.2 support!
57
+
58
+ ## 1.0.0.rc2
59
+ * Avoid downloading of ruby source by using debugger-ruby_core_source
60
+ * Fix LocalJumpError caused by using proc in extconf.rb
61
+ * Tests up on CI
62
+ * Rake tasks updated
63
+
64
+ ## 1.0.0.rc1
65
+ * Initial test release with working 1.9.3
@@ -0,0 +1 @@
1
+ Thanks for trying out this project! [See here for contribution guidelines.](http://tagaholic.me/contributing.html)
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,23 @@
1
+ Copyright (C) 2005 Kent Sibilev <ksibilev@yahoo.com>
2
+ All rights reserved.
3
+ *
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions
6
+ are met:
7
+ 1. Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ 2. Redistributions in binary form must reproduce the above copyright
10
+ notice, this list of conditions and the following disclaimer in the
11
+ documentation and/or other materials provided with the distribution.
12
+ *
13
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
14
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
17
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23
+ SUCH DAMAGE.
@@ -0,0 +1,334 @@
1
+ 0.10.3
2
+ 11/17/08
3
+
4
+ - a backtrace now warns when it thinks the callstack is truncated which it
5
+ gets by comparing with caller()
6
+ - fix setting $0.
7
+ - fix bug in showing variables in post-mortem
8
+ - Document how Debugger.start with a block is intended to be used.
9
+ - Move Kernel#debugger from ruby-debug-base into ruby-debug
10
+ - Get regression tests working again
11
+ - Warn and add a "confirmation" when setting a breakpoint on a
12
+ file that is not loaded.
13
+
14
+ 0.10.2
15
+ - debugger(steps=0) breaks inside of debugger rather than wait for a line event.
16
+ - trace var varname (stop|nostop) added which issues trace_var.
17
+ - start method is now properly defined in Debugger module
18
+ - fixed 'finish' command
19
+ - rdebug script now works with Ruby 1.8.7
20
+
21
+ 0.10.1
22
+ 4/10/08 - in honor of the 30th Birthday of Kate Schwarz
23
+
24
+ - bin/rdebug
25
+
26
+ * "rdebug --post-mortem" now really catches uncaught exceptions and
27
+ brings you to post-mortem handling. "info program" shows the exception.
28
+
29
+ * rdebug now searches using ENV['PATH'] for a Ruby program to debug
30
+ if the program name is not found and doesn't have any path
31
+ characters in it.
32
+
33
+ * Use ~/.rdboptrc (rdbopt.ini on MS Windows) to change default options.
34
+
35
+ * --emacs is now --emacs-basic while --emacs 3 now implies emacs-basic
36
+ ---annotate=3 --post-mortem --no-control --no-start --no-quit
37
+
38
+ - rdebug (CLI)
39
+
40
+ * "info" command additions and changes:
41
+ o fix bug in "info variables" when string had embedded %s'
42
+ o "info program" now shows uncaught exception information
43
+ o "info files" show what Ruby files are loaded
44
+ o "info file <f>" specific file information of <f> (e.g. time, # of lines, SHA1)
45
+ o "info catch" - Exceptions that can be caught in the current stack frame.
46
+ o "info "variables" shows "self" and class variables
47
+ o "info threads verbose" shows stack trace of all threads
48
+ o "info thread <t> verbose" shows stack trace of thread <t>.
49
+
50
+ * "frame" command now accepts an optional thread number argument
51
+
52
+ * Long information added to commands with subcommands: show, set,
53
+ info, enable, and disable. For example "help info <xxx>" will give
54
+ more detailed information about the "info <xxx>" command.
55
+
56
+ * columnize now pulled in from a separate package.
57
+
58
+ * add "var cl[ass]" command. Note "var const" can no longer be
59
+ abbreviated "var c"; use "var co" (or const or constant).
60
+
61
+ * add "condition" command. Allow removal of condition.
62
+
63
+ * $0 == __FILE__ when running rdebug should work -- most of the
64
+ time. See comments in code for a better solution.
65
+
66
+ * rdebug command history can be displayed with "show commands". Fix a bug
67
+ in history saving.
68
+
69
+ * INCOMPATIBLE CHANGE: "finish" works like gdb - stop just before the most
70
+ recent method finishes. Will now accept a number which stops that many
71
+ frames completed. (Note that return line numbers will be funny, the
72
+ first line of the method until Ruby 1.8.7.)
73
+
74
+ * fix bug in 'list' command when wrapping off the end.
75
+
76
+ - Emacs interaction drastically reworked, expanded, and improved.
77
+
78
+ - rdebug base
79
+ * allow catching multiple exceptions.
80
+ INCOMPATIBLE CHANGE: variable "Debugger.catchpoint", a String, was turned
81
+ into "Debugger.catchpoints", a Hash. Method "Debugger.catchpoint=" no
82
+ longer exists. Debugger.set_catchpoint was turned into
83
+ Debugger.add_catchpoint
84
+
85
+ * Add Debugger.last_exception which is set in post-mortem.
86
+
87
+ * remove Debugger.stop() when an exception is raised that would terminate the
88
+ debugged program. This may allow catchpoints to work and allow tracing user
89
+ code which handles "Exit" exceptions
90
+
91
+ * split off breakpoint code in ruby_debug.c.
92
+
93
+ * preface ruby_debug global Ruby variables with rdebug_.
94
+
95
+ * Change Debugger.start() to accept an optional options argument
96
+ :init => true saves things (like $0 and ARGV) necessary to
97
+ allow restart. Default: true
98
+ :post_mortem => true runs post-mortem on an uncaught exception
99
+ Default: false
100
+
101
+ The old Debugger.start() is now renamed to Debugger.start_()
102
+
103
+ * split of line caching to an external gem. We now only allow setting
104
+ breakpoints on lines where it makes sense to do so.
105
+
106
+ * Incompatible enhancement: even return/end will now call event handler
107
+
108
+ See ChangeLog for full details, and the reference guide for more complete
109
+ documentation of these changes.
110
+
111
+ 0.10.0
112
+ 12/25/07
113
+
114
+ - '-r' option can be used to require additional libraries.
115
+ - --noquit option added to stay in debugger when the program exits
116
+ - gdb-like --annotate option added. Can be used by front-ends to get information
117
+ without polling
118
+ - Fixed 'var const' command. Issue #10847.
119
+ - Using pretty-print for all var commands.
120
+ - Better error reporting for commands that require a numeric argument.
121
+ - Fixed Kernel#binding_n method
122
+ - Add option -d ($DEBUG = true) and --verbose. Make -v work like ruby.
123
+ - Remove debugger messages caused when warnings are turned on.
124
+ - "info" and "show" commands added. "set" made more like gdb's
125
+ set. subcommands can be abbreviated and are case insensitive.
126
+ - restart program if it terminates normally and we've got a tty and
127
+ we stop on the first statement.
128
+ - help is in tidy column format. method lists are shown that way as well.
129
+ the "width" setting ("set/show width") is used for the line width
130
+ - stack traces now show parameter names and types. "info args" lists just
131
+ the parameters (with the most recent values, not the values at call time).
132
+ - post-mortem "exit" bug fixed.
133
+ - More Emacs-friendly: rdebug-track.el will track location inside an Emacs
134
+ shell. Emacs position information is shown in breakpoints and catchpoints
135
+ similar to gdba. Commands to position in another window a unit test traceback
136
+ or ruby traceback. Much more work invisioned for Emacs.
137
+ - INCOMPATIBLE CHANGE: "break" now sets a breakpoint on the current line
138
+ (same as gdb). Use "info break" for a list of breakpoints.
139
+ - INCOMPATIBLE CHANGE: "script" command removed. Use "source" command instead
140
+ (same as gdb).
141
+ - Run .rdebugrc on Debugger.start. Look for a file in the current directory and
142
+ run that instead of the one in $HOME if that exists. Again, inspired by and compatible
143
+ with gdb.
144
+ - Changes compatible with Ruby 1.9. NOTE: this debugger will NOT work with
145
+ Ruby 1.9
146
+ - leaving irb shows position same as entering debugger; "list" position
147
+ is also cleared when leaving irb
148
+ - help "foo" gives message "Undefined command "foo" rather than a list
149
+ of help commands. (Message test is gdb's)
150
+ - Add set linetrace+ - similar to step+ for linetrace
151
+ - Start unit tests.
152
+ - Start a reference guide.
153
+
154
+ 0.9.3
155
+ - Fixed if..elsif..end stepping.
156
+ - From irb session Ctrl-C or 'cont' command continues execution without showing the debugger prompt.
157
+ - Added Debugger.settings method to programatically modify command settings.
158
+ - Added Kernel#breakpoint as alias to Kernel#debugger is the former is not already defined.
159
+
160
+ 0.9.2
161
+ - Fixed file comparison in Windows platform.
162
+ - Added setter methods to Breakpoint properties
163
+ - Added breakpoint hit condition functionality (not available via CLI yet) and methods:
164
+ Breakpoint:hit_count
165
+ Breakpoint:hit_value[=]
166
+ Breakpoint:hit_condition[=]
167
+
168
+ 0.9.1
169
+ - Fixed incorrect stack calculation.
170
+ - Context#stop_next= method aliased as Context#step.
171
+ - Added the 'force' parameter to Context#step_over.
172
+ - Added the 'force' parameter to Context#step.
173
+ - 'next+/step+' commands forces to move to another line
174
+ - Added a new 'forcestep' setting.
175
+
176
+ 0.9
177
+ - Kernel#debugger method will start the debugger if it's not running.
178
+ - Added Context#stop_reason method.
179
+ - Calling a method with a block will create a new frame. This changes the behavior of 'next' command. So in order to step into a block, 'step' command must be used. That fixes bug #9629.
180
+ - Added the possibility to add a temporary context-specific breakpoint. Context#breakpoint and Context#set_breakpoint methods are added.
181
+ - 'cont' command now accepts a numerical parameter which implements 'Continue until line' behavior.
182
+ - Added new Context.frame_class method
183
+ - Added new 'framefullpath' setting.
184
+ - Added new 'frameclassname' setting.
185
+ - All Ruby's 'eval' and require/load methods create a new frame. Fixes bug #9686.
186
+
187
+ 0.8.1
188
+ - Added a shortcut module 'debugger'. require "ruby-debug/debugger" will start the debugger and stop at the next line (similar to require 'debug').
189
+ - Fixed remote debugging.
190
+
191
+ 0.8
192
+ - Extract the base debugger API into a separate gem (ruby-debug-base), so it will be easier to add a new interface.
193
+ - Added 'set autoirb' setting.
194
+ - Bugfixes.
195
+
196
+ 0.7.5
197
+ - Fixed 'reload on' command
198
+ - 'reload on' command is removed in favor of 'set autoreload'
199
+ - rdebug will evaluate ~/.rdebugrc script on startup
200
+
201
+ 0.7.4
202
+ - Added a workaround of the Ruby interpreter problem where a method created with Module#define_method
203
+ and which raises an exception doesn't trigger a :return event, this way screwing the stack trace.
204
+ - Fixed a situation of an array 'out of bounds' access.
205
+ - Fixed the help for 'where' command.
206
+
207
+ 0.7.3
208
+ - Fixed a case when a frame is not popped up properly.
209
+ - Removed Context.ignore= method, since it can result with the segmentation fault error.
210
+ - Fixed the case when Context#suspend may effect the state of the thread on Context#resume
211
+ - Fixed several cases of seg faults when accessing dyna_vars structure.
212
+
213
+ 0.7.2
214
+ - Fixed Context#resume (a thread should be waked up only when it was running when it was suspended).
215
+ - When handling post-mortem exception, all threads must be suspended.
216
+
217
+ 0.7.1
218
+ - Fixed 'delete' command
219
+
220
+ 0.7
221
+ - Eliminated explicit Frame object. Use Context.frame_[binding,file,line] instead.
222
+ - Fixed help command.
223
+ - Renamed Debugger.keep_frame_info to Debugger.keep_frame_binding
224
+ - 'eval' command is available, even when keep_frame_binding is not used.
225
+ - New 'set' command is available.
226
+
227
+ 0.6.2
228
+ - Added thread lookup cache.
229
+ - Control thread is always started by rdebug script.
230
+ - Ability to specify negative frame number to frame commands. Patch from R. Bernstein.
231
+
232
+ 0.6.1
233
+ - Another performance optimization.
234
+
235
+ 0.6
236
+ - Added option to exclude collecting of frame bindings.
237
+ - Several performance optimizations.
238
+
239
+ 0.5.4
240
+ - Added -x/--trace option to rdebug script. Patch from R. Bernstein.
241
+ - Removed a live thread reference from the context's structure avoiding memory leakage.
242
+
243
+ 0.5.3
244
+ - Added Module#post_mortem_method method, which wraps any method with Debugger.post_mortem block.
245
+ - Added breakpoint id, which is not dependent on the breakpoint position in Debugger.breakpoints array.
246
+
247
+ 0.5.2
248
+ - Fixes interoperability problems with rspec.
249
+ - Made 'exit' as an alias to 'quit'
250
+ - Added 'restart' command. Patch from R. Bernstein.
251
+
252
+ 0.5.1
253
+ - Bugfixes.
254
+
255
+ 0.5
256
+ - Added post-mortem debugging
257
+ - Added 'irb' command.
258
+
259
+ 0.4.5
260
+ - Fixed debug_method when applied to setter.
261
+ - Added 'reload' command which can be used to reload source code in case it's been changed.
262
+ - Added Debugger.reload_source_on_change option (true, by default) which controls whether ruby-debug should keep
263
+ track of the source files modification times and reload them if they've been changed.
264
+
265
+ 0.4.4
266
+ - Renamed Context#set_suspend and Context#clear_suspend methods to Context#suspend and Context#resume respectively.
267
+ - Context#resume method not only clears suspend flag, but also resumes the thread execution.
268
+ - Bugfixes.
269
+
270
+ 0.4.3
271
+ - Added Debugger.skip method which allows escaping a block from the debugger reach.
272
+ - Bugfixes.
273
+
274
+ 0.4.2
275
+ - Module#deubg_method added.
276
+ - Added rdoc.
277
+ - Bugfixes.
278
+
279
+ 0.4.1
280
+ - New binding_n method for Kernel module.
281
+ - Bugfixes.
282
+
283
+ 0.4
284
+ - Debugger.start method takes a block. If a block is specified, this method starts debugger, yields to the block
285
+ and stops debugger at the end.
286
+ - 'tm[ate]' command accepts a frame number now.
287
+ - 'list' command accepts on/off parameter which controls whether listing will be displayed on every stop.
288
+ - 'eval on/off' controls the evaluation of unknown command.
289
+ - Debugger reads readline history file .rdebug_hist at startup and saves it at exit.
290
+ - 'sa[ve] <file>' command can be used to save current breackpoints and catchpoint if any
291
+ - 'sc[ript] <file>' command can be used to run script file. Script files can contain only control commands.
292
+ - rdebug script accepts '--script FILE' parameter.
293
+ - thread commands are available for the control port.
294
+
295
+ 0.3 (2006-08-07)
296
+ - Renamed Debugger.start_server to Debugger.start_remote.
297
+ - Debugger.start_remote activates debugger by calling Debugger.start.
298
+ - Debugger.start_remote starts a control thread which listen on port 8990 and accepts control
299
+ commands, such as adding/deleting breakpoints, assigning catchpoint, etc. (Useful for GUI integration)
300
+ - New Debugger.wait_connection option. When it's true, Debugger.start_remote waits until
301
+ a remote connection is made.
302
+ - New Debugger.stop_on_connect option. When a remote connection is established, debugger
303
+ stops the main thread (Thread.main).
304
+ - 'interrupt' command is available for the control thread.
305
+
306
+ 0.2.1 (2006-07-29)
307
+ - 'f[rame] nn' command selects a numbered frame. Frame numbers can be obtained by running frame
308
+ command without parameters.
309
+ - 'l[ist] =' show code in the context of the current line.
310
+ - 'tm[ate]' opens the current file in TextMate. Available only on Mac OSX.
311
+
312
+ 0.2 (2006-07-17)
313
+ - Added the remote debugging. It should be activated by calling Debugger#start_server method.
314
+ - CHANGED: In order to activate the debugger, it's not enough to require 'ruby-debug'.
315
+ Debugger#start method must be called explicitly.
316
+ - Debugger used to evaluate anything you enter as long as it's not a command. Starting from
317
+ this version the 'eval' command must be used to evaluate an expression.
318
+
319
+ 0.1.5 (2006-07-13)
320
+ - Now the check for a breakpoint uses base filename of the source file.
321
+ - Removed compilation warnings when compiling with -Wall
322
+
323
+ 0.1.4 (2006-07-12)
324
+ - Remembers the previous command. Invoke it by typing a carriage return
325
+ at the command prompt.
326
+
327
+ 0.1.3 (2006-07-11)
328
+ - Conditional breakpoints
329
+ - Bugfixes
330
+
331
+ 0.1.2 (2006-07-16)
332
+ ========================
333
+
334
+ - Initial release.