Skip to content

Commit 0768eb0

Browse files
author
Mark Moseley
committed
SVN RubyForge pull
1 parent f0eccc9 commit 0768eb0

File tree

970 files changed

+60176
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

970 files changed

+60176
-0
lines changed

AUTHORS

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Author and maintainer:
2+
Kent Sibilev
3+
4+
Contributers:
5+
Markus Barchfeld
6+
R. Bernstein
7+
Anders Lindgren

CHANGES

+334
Original file line numberDiff line numberDiff line change
@@ -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.

0 commit comments

Comments
 (0)