ruby-debug-base 0.10.1 → 0.10.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,10 @@
1
+ 0.10.2
2
+ - debugger(steps=0) breaks inside of debugger rather than wait for a line event.
3
+ - trace var varname (stop|nostop) added which issues trace_var.
4
+ - start method is now properly defined in Debugger module
5
+ - fixed 'finish' command
6
+ - rdebug script now works with Ruby 1.8.7
7
+
1
8
  0.10.1
2
9
  4/10/08 - in honor of the 30th Birthday of Kate Schwarz
3
10
 
data/Rakefile CHANGED
@@ -20,7 +20,7 @@ COMMON_FILES = FileList[
20
20
  'Rakefile',
21
21
  ]
22
22
 
23
- CLI_TEST_FILE_LIST = 'test/test-*.rb'
23
+ CLI_TEST_FILE_LIST = FileList['test/test-*.rb', 'test/cli/**/*_test.rb']
24
24
  CLI_FILES = COMMON_FILES + FileList[
25
25
  "cli/**/*",
26
26
  'ChangeLog',
@@ -30,7 +30,7 @@ CLI_FILES = COMMON_FILES + FileList[
30
30
  'test/**/data/*.right',
31
31
  'test/**/*.rb',
32
32
  'rdbg.rb',
33
- CLI_TEST_FILE_LIST,
33
+ CLI_TEST_FILE_LIST
34
34
  ]
35
35
 
36
36
  BASE_TEST_FILE_LIST = %w(
@@ -48,16 +48,16 @@ BASE_FILES = COMMON_FILES + FileList[
48
48
  ]
49
49
 
50
50
  desc "Test everything."
51
- test_task = task :test => [:lib, :test_base] do
51
+ task :test => :test_base do
52
52
  Rake::TestTask.new(:test) do |t|
53
53
  t.libs << ['./ext', './lib', './cli']
54
- t.pattern = CLI_TEST_FILE_LIST
54
+ t.test_files = CLI_TEST_FILE_LIST
55
55
  t.verbose = true
56
56
  end
57
57
  end
58
58
 
59
59
  desc "Test ruby-debug-base."
60
- test_task = task :test_base => :lib do
60
+ task :test_base => :lib do
61
61
  Rake::TestTask.new(:test_base) do |t|
62
62
  t.libs << ['./ext', './lib']
63
63
  t.test_files = FileList[BASE_TEST_FILE_LIST]
@@ -198,7 +198,7 @@ task :publish do
198
198
  # Get ruby-debug path.
199
199
  ruby_debug_path = File.expand_path(File.dirname(__FILE__))
200
200
 
201
- publisher = Rake::SshDirPublisher.new("kent@rubyforge.org",
201
+ Rake::SshDirPublisher.new("kent@rubyforge.org",
202
202
  "/var/www/gforge-projects/ruby-debug", ruby_debug_path)
203
203
  end
204
204
 
@@ -1,7 +1,7 @@
1
1
  #include "ruby_debug.h"
2
2
 
3
3
  VALUE rdebug_breakpoints = Qnil;
4
- VALUE rdebug_catchpoints = Qnil;
4
+ VALUE rdebug_catchpoints;
5
5
 
6
6
  static VALUE cBreakpoint;
7
7
  static ID idEval;
@@ -219,7 +219,7 @@ rdebug_remove_breakpoint(VALUE self, VALUE id_value)
219
219
 
220
220
  /*
221
221
  * call-seq:
222
- * Debugger.catchpoints -> string
222
+ * Debugger.catchpoints -> hash
223
223
  *
224
224
  * Returns a current catchpoints, which is a hash exception names that will
225
225
  * trigger a debugger when raised. The values are the number of times taht
@@ -235,23 +235,19 @@ debug_catchpoints(VALUE self)
235
235
 
236
236
  /*
237
237
  * call-seq:
238
- * Debugger.checkpoint = string -> string
238
+ * Debugger.catchpoint(string) -> string
239
239
  *
240
- * Sets catchpoint.
240
+ * Sets catchpoint. Returns the string passed.
241
241
  */
242
242
  VALUE
243
243
  rdebug_add_catchpoint(VALUE self, VALUE value)
244
244
  {
245
245
  debug_check_started();
246
246
 
247
- if (!NIL_P(value) && TYPE(value) != T_STRING) {
248
- rb_raise(rb_eTypeError, "value of chatchpoint must be String");
247
+ if (TYPE(value) != T_STRING) {
248
+ rb_raise(rb_eTypeError, "value of a catchpoint must be String");
249
249
  }
250
- if(NIL_P(value))
251
- rdebug_catchpoints = Qnil;
252
- else
253
- rb_hash_aset(rdebug_catchpoints, rb_str_dup(value),
254
- INT2FIX(0));
250
+ rb_hash_aset(rdebug_catchpoints, rb_str_dup(value), INT2FIX(0));
255
251
  return value;
256
252
  }
257
253
 
@@ -575,7 +571,9 @@ Init_breakpoint()
575
571
  rb_define_method(cBreakpoint, "pos=", breakpoint_set_pos, 1);
576
572
  rb_define_method(cBreakpoint, "source", breakpoint_source, 0);
577
573
  rb_define_method(cBreakpoint, "source=", breakpoint_set_source, 1);
578
- idEval = rb_intern("eval");
574
+ idEval = rb_intern("eval");
575
+ rdebug_catchpoints = rb_hash_new();
576
+
579
577
  }
580
578
 
581
579
 
@@ -6,7 +6,7 @@
6
6
  #include <st.h>
7
7
  #include <version.h>
8
8
 
9
- #define DEBUG_VERSION "0.10.1"
9
+ #define DEBUG_VERSION "0.10.2"
10
10
 
11
11
 
12
12
  #ifdef _WIN32
@@ -718,11 +718,31 @@ debug_event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
718
718
  if(debug == Qtrue)
719
719
  fprintf(stderr, "%s:%d [%s] %s\n", file, line, get_event_name(event), rb_id2name(mid));
720
720
 
721
+ /* There can be many event calls per line, but we only want
722
+ *one* breakpoint per line. */
721
723
  if(debug_context->last_line != line || debug_context->last_file == NULL ||
722
724
  strcmp(debug_context->last_file, file) != 0)
723
725
  {
724
726
  CTX_FL_SET(debug_context, CTX_FL_ENABLE_BKPT);
725
727
  moved = 1;
728
+ }
729
+ else if(event == RUBY_EVENT_LINE)
730
+ {
731
+ /* There are two line-event trace hook calls per IF node - one
732
+ before the expression eval an done afterwards.
733
+ */
734
+ /* FIXME: the static variable can't be safely used here, since this method
735
+ is re-entrant by multiple threads. If we want to provide this kind of functionality
736
+ if_eval_event variable must be moved to debug_context structure.
737
+ */
738
+ /*
739
+ static int if_eval_event = 0;
740
+ if_eval_event = (NODE_IF == nd_type(node)) ? !if_eval_event : 0;
741
+ if (!if_eval_event)
742
+ {
743
+ CTX_FL_SET(debug_context, CTX_FL_ENABLE_BKPT);
744
+ }
745
+ */
726
746
  }
727
747
  }
728
748
  else if(event != RUBY_EVENT_RETURN && event != RUBY_EVENT_C_RETURN)
@@ -796,9 +816,8 @@ debug_event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
796
816
  debug_context->breakpoint = Qnil;
797
817
  }
798
818
 
799
- reset_stepping_stop_points(debug_context);
800
- call_at_line(context, debug_context, rb_str_new2(file),
801
- INT2FIX(line));
819
+ reset_stepping_stop_points(debug_context);
820
+ call_at_line(context, debug_context, rb_str_new2(file), INT2FIX(line));
802
821
  }
803
822
  break;
804
823
  }
@@ -850,15 +869,11 @@ debug_event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
850
869
  {
851
870
  if(debug_context->stack_size == debug_context->stop_frame)
852
871
  {
853
- if(debug_context->stack_size == 0)
854
- save_call_frame(event, self, file, line, mid, debug_context);
855
- else
856
- set_frame_source(event, debug_context, self, file, line, mid);
857
- binding = self? create_binding(self) : Qnil;
858
- save_top_binding(debug_context, binding);
859
- call_at_return(context, debug_context, rb_str_new2(file),
860
- INT2FIX(line));
861
- debug_context->dest_frame = -1;
872
+ debug_context->stop_next = 1;
873
+ debug_context->stop_frame = 0;
874
+ /* NOTE: can't use call_at_line function here to trigger a debugger event.
875
+ this can lead to segfault. We should only unroll the stack on this event.
876
+ */
862
877
  }
863
878
  while(debug_context->stack_size > 0)
864
879
  {
@@ -866,6 +881,7 @@ debug_event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
866
881
  if(debug_context->frames[debug_context->stack_size].orig_id == mid)
867
882
  break;
868
883
  }
884
+ CTX_FL_SET(debug_context, CTX_FL_ENABLE_BKPT);
869
885
  break;
870
886
  }
871
887
  case RUBY_EVENT_CLASS:
@@ -912,23 +928,23 @@ debug_event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
912
928
  #endif
913
929
 
914
930
  if (rdebug_catchpoints == Qnil ||
915
- RHASH(rdebug_catchpoints)->tbl->num_entries == 0)
931
+ RHASH(rdebug_catchpoints)->tbl->num_entries == 0)
916
932
  break;
917
933
 
918
934
  ancestors = rb_mod_ancestors(expn_class);
919
935
  for(i = 0; i < RARRAY(ancestors)->len; i++)
920
936
  {
921
- VALUE mod_name;
922
- VALUE hit_count;
937
+ VALUE mod_name;
938
+ VALUE hit_count;
923
939
 
924
940
  aclass = rb_ary_entry(ancestors, i);
925
- mod_name = rb_mod_name(aclass);
926
- hit_count = rb_hash_aref(rdebug_catchpoints, mod_name);
941
+ mod_name = rb_mod_name(aclass);
942
+ hit_count = rb_hash_aref(rdebug_catchpoints, mod_name);
927
943
  if(hit_count != Qnil)
928
944
  {
929
- hit_count = INT2FIX(FIX2INT(rb_hash_aref(rdebug_catchpoints,
930
- mod_name)+1));
931
- rb_hash_aset(rdebug_catchpoints, mod_name, hit_count);
945
+ hit_count = INT2FIX(FIX2INT(rb_hash_aref(rdebug_catchpoints,
946
+ mod_name)+1));
947
+ rb_hash_aset(rdebug_catchpoints, mod_name, hit_count);
932
948
  debug_context->stop_reason = CTX_STOP_CATCHPOINT;
933
949
  rb_funcall(context, idAtCatchpoint, 1, ruby_errinfo);
934
950
  if(self && binding == Qnil)
@@ -1011,7 +1027,7 @@ debug_start(VALUE self)
1011
1027
  {
1012
1028
  locker = Qnil;
1013
1029
  rdebug_breakpoints = rb_ary_new();
1014
- rdebug_catchpoints = rb_hash_new();
1030
+ rdebug_catchpoints = rb_hash_new();
1015
1031
  rdebug_threads_tbl = threads_table_create();
1016
1032
 
1017
1033
  rb_add_event_hook(debug_event_hook, RUBY_EVENT_ALL);
@@ -1361,23 +1377,31 @@ debug_thread_inherited(VALUE klass)
1361
1377
 
1362
1378
  /*
1363
1379
  * call-seq:
1364
- * Debugger.debug_load(file, stop = false) -> nil
1380
+ * Debugger.debug_load(file, stop = false, increment_start = false) -> nil
1365
1381
  *
1366
1382
  * Same as Kernel#load but resets current context's frames.
1367
- * +stop+ parameter force the debugger to stop at the first line of code in the +file+
1383
+ * +stop+ parameter forces the debugger to stop at the first line of code in the +file+
1384
+ * +increment_start+ determines if start_count should be incremented. When
1385
+ * control threads are used, they have to be set up before loading the
1386
+ * debugger; so here +increment_start+ will be false.
1368
1387
  * FOR INTERNAL USE ONLY.
1369
1388
  */
1370
1389
  static VALUE
1371
1390
  debug_debug_load(int argc, VALUE *argv, VALUE self)
1372
1391
  {
1373
- VALUE file, stop, context;
1392
+ VALUE file, stop, context, increment_start;
1374
1393
  debug_context_t *debug_context;
1375
1394
  int state = 0;
1376
1395
 
1377
- if(rb_scan_args(argc, argv, "11", &file, &stop) == 1)
1378
- stop = Qfalse;
1396
+ if(rb_scan_args(argc, argv, "12", &file, &stop, &increment_start) == 1)
1397
+ {
1398
+ stop = Qfalse;
1399
+ increment_start = Qtrue;
1400
+ }
1379
1401
 
1380
1402
  debug_start(self);
1403
+ if (Qfalse == increment_start) start_count--;
1404
+
1381
1405
  context = debug_current_context(self);
1382
1406
  Data_Get_Struct(context, debug_context_t, debug_context);
1383
1407
  debug_context->stack_size = 0;
Binary file
@@ -0,0 +1,957 @@
1
+ 2008-05-15 16:05 Rocky Bernstein
2
+
3
+ * ChangeLog: Handle "catch nnn off" Forgotten there during r656.
4
+ From mkrauskopf [#20156].
5
+
6
+ 2008-05-05 18:05 Rocky Bernstein
7
+
8
+ * ChangeLog: make test-frame installation independent. Bug #19931
9
+
10
+ 2008-04-29 13:37 Rocky Bernstein
11
+
12
+ * ChangeLog: Test line number in "continue" command for validity.
13
+
14
+ 2008-04-28 16:16 Rocky Bernstein
15
+
16
+ * ChangeLog: From Martin Krauskopf via patch #19779
17
+
18
+ Allow folks to configure Ruby used for CLI tests in the
19
+ test/config.yaml. The defaults are for native Ruby, so nothing
20
+ needs
21
+ to be done for ruby-debug.
22
+
23
+ Developers of interfaces other than cli might override
24
+ config.yaml by
25
+ customized config.private.yaml which is ignored. So there will be
26
+ no
27
+ trash in e.g. 'svn st' output when developer customize the Ruby
28
+ to be
29
+ used.
30
+
31
+ Handy for alternative interface implementations using
32
+ svn:externals.
33
+
34
+ 2008-04-22 02:49 Rocky Bernstein
35
+
36
+ * ruby-debug-base.rb: Experiment with debugger(steps=0). Puts us in
37
+ the debugger call, but this may be the best we can do for now.
38
+ See tracker
39
+ #19639.
40
+
41
+ 2008-04-16 01:11 Rocky Bernstein
42
+
43
+ * ChangeLog: In 0.10.2 now. Some work to cope systems without
44
+ readline. More work is needed.
45
+ Add test of "set autoeval." Undefined command message more
46
+ closely like gdb's.
47
+
48
+ 2008-04-10 08:49 Rocky Bernstein
49
+
50
+ * ChangeLog: linecache is required by ruby-debug-base not
51
+ ruby-debug. Thanks Martin!
52
+
53
+ 2008-04-10 08:00 Rocky Bernstein
54
+
55
+ * ChangeLog: Last change before 0.10.1 release.
56
+
57
+ 2008-04-10 02:03 Rocky Bernstein
58
+
59
+ * ChangeLog: Cosmetic stuff: spelling corrections. Update node
60
+ structure so texinfo
61
+ doesn't complain.
62
+
63
+ 2008-04-08 14:52 Rocky Bernstein
64
+
65
+ * ChangeLog: autorequire is deprecated and presumably no longer
66
+ needed
67
+ http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/182827
68
+
69
+ 2008-04-07 00:36 Rocky Bernstein
70
+
71
+ * ChangeLog, ruby-debug-base.rb: ruby-debug-base.rb: document
72
+ Debugger.start parameters.
73
+ CHANGES: Revise what's happened
74
+ test-shortkey.el: A failing regression test because I think
75
+ rdebug-shortkey-mode
76
+ is not correct.
77
+
78
+ 2008-04-03 19:01 Rocky Bernstein
79
+
80
+ * ChangeLog, ruby-debug-base.rb: Allow setting :post_mortem => true
81
+ from Debugger.start.
82
+
83
+ 2008-03-28 13:53 Rocky Bernstein
84
+
85
+ * ChangeLog: Don't unconditionally turn on short-key mode when
86
+ annotations are on. Use rdebug-short-key-mode setting to decide.
87
+
88
+ 2008-03-23 17:47 Rocky Bernstein
89
+
90
+ * ChangeLog: set.rb -> settings.rb since it's already one command
91
+ per file, and
92
+ remove another :nodoc.
93
+ Rakefile: split long line
94
+
95
+ 2008-03-18 16:05 Rocky Bernstein
96
+
97
+ * ChangeLog: Fix bug in 'list' command when wrapping off the end.
98
+ test-finish.rb: tolerate buggy in Ruby versions <= 1.8.7.
99
+
100
+ 2008-03-13 02:15 Rocky Bernstein
101
+
102
+ * ruby-debug-base.rb: INCOMPATIBLE CHANGE: "finish" works like gdb
103
+ - stop just before the
104
+ most recent method finishes. Will now accept a number which stops
105
+ that
106
+ many frames completed. (Note that return line numbers will be
107
+ funny,
108
+ the first line of the method until Ruby 1.8.7.)
109
+
110
+ 2008-03-10 13:28 Rocky Bernstein
111
+
112
+ * ChangeLog: Dunno why we are now one line number less. So be it
113
+ (for now).
114
+
115
+ 2008-03-09 23:30 Rocky Bernstein
116
+
117
+ * ChangeLog: For now we require the duplicate numbers on
118
+ conditionals.
119
+
120
+ 2008-03-02 04:20 Rocky Bernstein
121
+
122
+ * ruby-debug-base.rb: Better error message for an invalid break
123
+ command.
124
+
125
+ 2008-02-28 05:06 Rocky Bernstein
126
+
127
+ * ChangeLog: breakpoints.{cmd,right}: test for an invalid stopping
128
+ line number
129
+ rdebug-fns.el: move generic split-string-and-unquote from
130
+ rdebug-core.
131
+ rdebug-core.el: Add rdebug-common-init to replace
132
+ gud-common-init. Is
133
+ simpler, and finds files better via debugger output/annotations.
134
+ Fix bug in rdebug-setup-windows: gud-find-file can return nil,
135
+ and
136
+ we still need to set buf.
137
+
138
+ 2008-02-27 04:04 Rocky Bernstein
139
+
140
+ * ruby-debug-base.rb: Slightly more robust handle_post_mortem.
141
+
142
+ 2008-02-26 17:31 Rocky Bernstein
143
+
144
+ * ChangeLog: Go over source location positioning. 0 is now the
145
+ oldest (first) position. Add M-S-down and M-S-up for first and
146
+ last. More tests needed in test-fns.el and need to prompt on wrap
147
+ around.
148
+
149
+ 2008-02-26 00:57 Rocky Bernstein
150
+
151
+ * ChangeLog: Fix bug in "info file xxx breakpoints".
152
+
153
+ 2008-02-24 16:36 Rocky Bernstein
154
+
155
+ * ChangeLog: rdebug; make more Ruby 1.9 compatible.
156
+
157
+ 2008-02-24 16:14 Rocky Bernstein
158
+
159
+ * ChangeLog: Minor changes.
160
+ rdbg.rb: don't need $DEBUG test any more
161
+ rdebug-regexp.el: go over with checkdoc
162
+ bin/rdebug: use PATH_SEPARATOR (for 'doze again)
163
+
164
+ 2008-02-24 04:51 Rocky Bernstein
165
+
166
+ * ChangeLog: CLI: Add long help for "info file".
167
+
168
+ test/test-help.rb: Make test failures easier to fix and more like
169
+ the
170
+ other tests.
171
+
172
+ emacs/test: finish testing all of the funcitons in rdebug-fns.el
173
+
174
+ rdebug-layouts.el: Make checkdoc clean.
175
+ rdebug-track.el: don't need to rename shell buffer. Do it as an
176
+ option only.
177
+ rdebug-secondary.el: get rid of hoaky buffer finding for at least
178
+ gud-comint-buf. (Should probably do others as well)
179
+
180
+ DOC: Note weird line stopping locations. Describe what "ctrl" in
181
+ prompt means.
182
+
183
+ 2008-02-21 02:56 Rocky Bernstein
184
+
185
+ * ChangeLog: Fringe for frame buffer the same as in source code.
186
+ Move
187
+ miscellaneous small functions to a new file. Reduce duplication
188
+ of
189
+ "chomp" code.
190
+
191
+ 2008-02-19 23:44 Rocky Bernstein
192
+
193
+ * ChangeLog: rdebug-cmd.el: M-insert toggles shortkey mode in the
194
+ command buffer
195
+ rdebug: search for Ruby program if file is not found and no
196
+ SEPARATOR
197
+ chars in the filename
198
+
199
+ 2008-02-18 19:56 Rocky Bernstein
200
+
201
+ * ChangeLog: Frame switching shouldn't be recorded in position
202
+ history ring.
203
+
204
+ 2008-02-17 13:57 Rocky Bernstein
205
+
206
+ * ruby-debug-base.rb: Add Debugger.last_exception. Show exception
207
+ in post-mortem when "info program"
208
+ is issued. Reorganize list of major changes better.
209
+
210
+ 2008-02-13 21:47 Rocky Bernstein
211
+
212
+ * ChangeLog: processor.rb: spelled "post-mortem" incorrectly in
213
+ prompt.
214
+
215
+ 2008-02-13 17:32 Rocky Bernstein
216
+
217
+ * ChangeLog: Set up keys for comint-next-prompt and
218
+ comint-previous-prompt.
219
+
220
+ 2008-02-12 02:06 Rocky Bernstein
221
+
222
+ * ChangeLog: Fix bug in "info thread verbose" which wasn't showing
223
+ full traceback.
224
+
225
+ 2008-02-09 15:48 Rocky Bernstein
226
+
227
+ * ChangeLog: helper.rb Failed attempt to DRY tests more. But save
228
+ what we have
229
+ which may someday in the future be used to go further. Minus to
230
+ undercore in Data file names in preparation such time. (We'll use
231
+ the
232
+ filename as the test name).
233
+
234
+ testing
235
+
236
+ 2008-02-06 16:15 Rocky Bernstein
237
+
238
+ * ChangeLog: Add 'nowarn to find-file-noselect and test that we
239
+ don't get a warning.
240
+
241
+ 2008-02-05 01:41 Rocky Bernstein
242
+
243
+ * ChangeLog: rdebug.el: Add a defgroup for rdebug so customization
244
+ in Emacs 23 is possible.
245
+ Some other minor doc fixes.
246
+ setshow.* make sure we don't have an $Id line that we have to
247
+ check against.
248
+
249
+ 2008-02-03 15:23 Rocky Bernstein
250
+
251
+ * ChangeLog: Try to get testing a little more organized, although
252
+ more work should
253
+ be done: Create a data directory for comparison ("right") and
254
+ script
255
+ command ("cmd") files. Code is now more uniform (and should DRY'd
256
+ a
257
+ bit more).
258
+
259
+ 2008-02-02 23:10 Rocky Bernstein
260
+
261
+ * ChangeLog: Remove commands in post-mortem which are not
262
+ applicable, e.g."step",
263
+ "next", "continue"...
264
+
265
+ "No breakpoints have been set" is now an error message when
266
+ trying to
267
+ set a breakpoint.
268
+
269
+ Add post-mortem test.
270
+
271
+ Debug.init no longer exists.
272
+
273
+ 2008-02-02 09:27 Rocky Bernstein
274
+
275
+ * ruby-debug-base.rb: Remove Debugger.init and fold options
276
+ parameter into Debugger.start.
277
+ Old Debugger.start has been renamed Deebugger.start_
278
+
279
+ 2008-01-31 16:30 Rocky Bernstein
280
+
281
+ * ChangeLog: Leave ruby_debug.c this way for now.
282
+
283
+ 2008-01-31 16:24 Rocky Bernstein
284
+
285
+ * ChangeLog: ruby_debug.c: more adventures in exception handling
286
+ processor.rb: Removal of crash when annotate is on. Need to fix
287
+ the source of the
288
+ problem though.
289
+
290
+ 2008-01-31 15:16 Rocky Bernstein
291
+
292
+ * ruby-debug-base.rb: Handle post-mortem and exception traceback
293
+ reporting in ruby-debug
294
+
295
+ 2008-01-30 17:01 Rocky Bernstein
296
+
297
+ * ChangeLog: Add Command.find() to find a subcommand name.
298
+ condition.right: correct for breakpoint hit counts.
299
+
300
+ 2008-01-30 01:43 Rocky Bernstein
301
+
302
+ * ChangeLog: Add number of times a breakpoint is hit like gdb does.
303
+
304
+ 2008-01-29 22:37 Rocky Bernstein
305
+
306
+ * ChangeLog: Columnize breakpoint output.
307
+
308
+ 2008-01-29 11:20 Rocky Bernstein
309
+
310
+ * ChangeLog: More annotate=2 fixes.
311
+
312
+ 2008-01-28 15:59 Rocky Bernstein
313
+
314
+ * ChangeLog: Add info file breakpoints to show lines which we can
315
+ set a breakpoint on.
316
+ Revise so we chdir into SRC_DIR.
317
+ test-hist.rb is broken - will fix later.
318
+
319
+ 2008-01-25 12:11 Rocky Bernstein
320
+
321
+ * ChangeLog, ruby-debug-base.rb: Add Debugger.init which intializes
322
+ things that rdebug does. This
323
+ allows a restart even though rdebug wasn't called initially.
324
+
325
+ 2008-01-22 23:15 Rocky Bernstein
326
+
327
+ * ChangeLog: Allow "help info xxx". Add ability for long help on
328
+ "info" command.
329
+ Add "info break xx".
330
+
331
+ test: remove test/unit class name conflicts. All the tests we
332
+ wrote
333
+ now get run.
334
+
335
+ 2008-01-19 19:28 Rocky Bernstein
336
+
337
+ * ChangeLog: Move ruby-debug-base tests to base directory. Add a
338
+ binding_n regression test.
339
+
340
+ 2008-01-16 18:42 Rocky Bernstein
341
+
342
+ * ChangeLog: Need to present source filename (__FILE__) as Ruby and
343
+ therefore breakpoint
344
+ sees it.
345
+
346
+
347
+ 2008-01-16 02:19 Rocky Bernstein
348
+
349
+ * ChangeLog, ruby-debug-base.rb: Line caching moved to an external
350
+ gem, linecache. We now require
351
+ version 0.2 of that or greater.
352
+
353
+ 2008-01-14 01:31 Rocky Bernstein
354
+
355
+ * ChangeLog: Make rdebug-track work better in the face of prompt
356
+ and error annotations.
357
+ control.rb: need another test when rdebug not called initially.
358
+
359
+ 2008-01-13 21:51 Rocky Bernstein
360
+
361
+ * ChangeLog: Some stack -> frame renaming
362
+ ext/breakpoint.c: put methods in alpha order (to help with
363
+ reference man)
364
+ breakpoints.rb: one print -> errmsg
365
+
366
+ 2008-01-13 18:13 Rocky Bernstein
367
+
368
+ * ChangeLog: Create errmsg routine for error output, start tagging
369
+ error messages
370
+ as errors. Under annotate 3, output errors similar to gdb
371
+ --annotate
372
+ does (although still simplified). Have Emacs pick up debugger
373
+ error
374
+ annotations.
375
+
376
+ 2008-01-13 04:05 Rocky Bernstein
377
+
378
+ * ChangeLog: Check validity of expressions in breakpoint conditions
379
+ and don't allow
380
+ enabling a syntactically invalid expression.
381
+
382
+ Start noting messages which are errors via an errmsg routine.
383
+
384
+ 2008-01-11 10:26 Rocky Bernstein
385
+
386
+ * ChangeLog: Document that ruby-debug resets $0. Align program
387
+ options in ref manual and --help. Alphabetize better.
388
+
389
+ 2008-01-10 22:56 Rocky Bernstein
390
+
391
+ * ChangeLog: More correct $0 fix. Deal with the case ./ is
392
+ automatically added.
393
+ However this might not be right in all cases.
394
+
395
+ 2008-01-10 22:25 Rocky Bernstein
396
+
397
+ * ChangeLog: Was gobbling arg in processing --emacs. Add test.
398
+
399
+ 2008-01-10 10:34 Rocky Bernstein
400
+
401
+ * ChangeLog: Add condition command.
402
+
403
+ 2008-01-09 19:10 Rocky Bernstein
404
+
405
+ * ChangeLog: Rakefile: rdebug.rb -> rdbg.el
406
+ rdebug-dbg.el: Add $Id$
407
+
408
+ 2008-01-09 19:03 Rocky Bernstein
409
+
410
+ * ChangeLog: Break out secondary buffer into their own file, and
411
+ also internal
412
+ debug code and general secondary commands. Secondary buffer code
413
+ removed from rdebug-cmd and moved into the appropriate file.
414
+
415
+ rdebug-edit-variables-value is not defined so comment out for
416
+ now.
417
+
418
+ 2008-01-08 16:04 Rocky Bernstein
419
+
420
+ * ChangeLog: Restore $: to the value it was before rdebug call.
421
+
422
+ 2008-01-07 20:38 Rocky Bernstein
423
+
424
+ * ChangeLog: Add "var class". This means "var const .." can no
425
+ longer be abbreviated "var c"; use "var co" instead.
426
+ (Or "var const" or "var constant"
427
+
428
+ 2008-01-07 19:57 Rocky Bernstein
429
+
430
+ * ChangeLog: Add class level variables to "info variables"
431
+
432
+ 2008-01-07 17:37 Rocky Bernstein
433
+
434
+ * ChangeLog: Add "self" to list "info variables" spits out.
435
+
436
+ 2008-01-07 09:59 Rocky Bernstein
437
+
438
+ * ChangeLog: --emacs sets width to 120. rdebug-core.el will reset
439
+ to 120 unless it's already that.
440
+
441
+ 2008-01-07 04:29 Rocky Bernstein
442
+
443
+ * ChangeLog: Split out ChangeLogs better (I hope).
444
+
445
+ 2008-01-06 20:56 Rocky Bernstein
446
+
447
+ * ChangeLog: test/*-emacs-basic*, tdebug: Add test of running in
448
+ Emacs without annotations.
449
+
450
+ emacs/*.el: make regexp tests work again, move regexp to from
451
+ core to regexp.
452
+ Add an annotate regexp test.
453
+
454
+ processor.rb: Remove some anotation print from bleeding into
455
+ output
456
+ when annotations are not wanted. Reinstate "Program finished" in
457
+ annotations and outside (rdebug).
458
+
459
+ 2008-01-06 18:55 Rocky Bernstein
460
+
461
+ * ChangeLog: Create Processor class and subclass that. Perhaps a
462
+ mixin would be good.
463
+ Remove annotation output bleanding when annotate is off.
464
+ Try to reduce the mess annotations is adding to processor.rb
465
+ rdebug-core.el: fix indentation to pass the regression test
466
+ Anders added
467
+ Makefile.am: Add rdebug-source.el to distribution.
468
+ Make sure "rake test"
469
+
470
+ 2008-01-06 02:15 Rocky Bernstein
471
+
472
+ * ChangeLog: Some work on saving state across a restart. More work
473
+ is needed on the
474
+ script command to get this working. The save-file name is now
475
+ optional. save.rb split off from script.rb Display expressions
476
+ and
477
+ some settings are now captured in the save/restore file.
478
+ Add interface.finalize - things that need to be done before quit
479
+ or
480
+ restart.
481
+
482
+ 2008-01-05 21:16 Rocky Bernstein
483
+
484
+ * ChangeLog: More work to make annotate more like gdb's.
485
+ starting/stopping/exiting
486
+ should be more similar. Some code has been commented out until we
487
+ get
488
+ the Emacs interface to match. See "FIXME: ANNOTATE" in
489
+ processor.rb.
490
+ Also regression tests for output and annotate currently fail for
491
+ this
492
+ reason.
493
+
494
+ 2008-01-02 20:35 Rocky Bernstein
495
+
496
+ * ChangeLog: helper.rb: add regexp for a position. TODO: add
497
+ parsing routine and use in
498
+ various commands
499
+
500
+ 2008-01-02 14:41 Rocky Bernstein
501
+
502
+ * ChangeLog: processor.rb: Redo where starting/exiting annotations
503
+ are done.
504
+ rdebug.el: back off on setting output command for now.
505
+
506
+ 2008-01-01 15:23 Rocky Bernstein
507
+
508
+ * ChangeLog: Fix --emacs to do --no-quit properly.
509
+
510
+ 2008-01-01 09:00 Rocky Bernstein
511
+
512
+ * ChangeLog: Remove RDoc warnings caused because C files have been
513
+ split up.
514
+
515
+ 2008-01-01 05:51 Rocky Bernstein
516
+
517
+ * ChangeLog: reindent -> indent. Makefile.am: wasn't including all
518
+ test files.
519
+
520
+ 2007-12-31 06:26 Rocky Bernstein
521
+
522
+ * ChangeLog: Rakefile: add spit-off C files to ruby-debug-base gem.
523
+
524
+ 2007-12-31 06:23 Rocky Bernstein
525
+
526
+ * ChangeLog: rdebug-test-cmd.el: Indentation
527
+
528
+ 2007-12-31 06:08 Rocky Bernstein
529
+
530
+ * ChangeLog: Changes and more changes.
531
+
532
+ 2007-12-29 13:31 Rocky Bernstein
533
+
534
+ * ChangeLog: Remove looping on quit. "-n" is broken so remove it
535
+ for now.
536
+
537
+ 2007-12-28 15:33 Rocky Bernstein
538
+
539
+ * ChangeLog: info.rb: Incorrect test for no display expressions.
540
+ display.rb: Grammar thing.
541
+ processor.rb: Slightly cleaner code
542
+ test/* more/better tests.
543
+
544
+ 2007-12-27 21:03 Rocky Bernstein
545
+
546
+ * ChangeLog: Be more agressive about resetting gud-last-frame and
547
+ gud-last-last-frame. These foul up tracking when debugging is
548
+ interrupted.
549
+ We probably need a special "reset" command.
550
+
551
+ 2007-12-26 18:35 Rocky Bernstein
552
+
553
+ * ChangeLog: Version number games - maybe 0.10.1 is better.
554
+
555
+ 2007-12-25 23:40 Rocky Bernstein
556
+
557
+ * ChangeLog: Add step- and step+. Document as well as the new
558
+ toggle command.
559
+
560
+ 2007-12-25 09:55 Rocky Bernstein
561
+
562
+ * ChangeLog: Small doc fixes.
563
+
564
+ 2007-12-25 07:51 Rocky Bernstein
565
+
566
+ * ChangeLog: Last commit before 0.10.0 release.
567
+
568
+ 2007-12-25 02:51 Rocky Bernstein
569
+
570
+ * ChangeLog: breakpoints.*: main -> Object. Add bad Class name test
571
+ AUTHOR: Add Anders
572
+ README: note ruby-debug-extra. More precise (I think)
573
+
574
+ 2007-12-24 00:25 Rocky Bernstein
575
+
576
+ * ChangeLog: Rakefile: set up gem unit test for ruby-debug-base.
577
+ Add file in test/
578
+ so we could do the same for ruby-debug were it not for other
579
+ mysterious
580
+ problems.
581
+
582
+ 2007-12-23 17:33 Rocky Bernstein
583
+
584
+ * ChangeLog: Go over packaging:
585
+ ChangeLogs for ruby-debug-base (in ext and lib) separate from CLI
586
+ ChangeLog
587
+ ChangeLogs now map userid to names
588
+ ruby-debug-base regression test included in ruby-debug-base
589
+ Columnize test separated. (It will disappear when ruby-debug
590
+ requires it
591
+ as an external)
592
+
593
+ 2007-12-16 21:31 Rocky Bernstein
594
+
595
+ * ruby-debug-base.rb: Add "info variables test".
596
+
597
+ ruby-debug-base.rb: Not sure how test(?M, file) ever worked
598
+ before but change
599
+ to use File.stat(file).mtime
600
+ info.rb: ignore debugger variables which are sometimes set.
601
+
602
+ 2007-12-10 03:23 Rocky Bernstein
603
+
604
+ * ruby-debug-base.rb: doc changes.
605
+
606
+ 2007-06-26 07:05 Rocky Bernstein
607
+
608
+ * ruby-debug-base.rb: Run .rdebugrc on Debugger.start. Look for
609
+ this in the current directory and run that instead the one in
610
+ $HOME if that exists. Again, inspired and compatible with gdb.
611
+
612
+ rdebug: Check script for syntax errors before loading. We get
613
+ more informative errors and it doesn't look like rdebug is at
614
+ fault.
615
+
616
+ 2007-06-05 16:36 Kent Sibilev
617
+
618
+ * ruby-debug-base.rb: code reorganization.
619
+ reverted 'run' command.
620
+
621
+ 2007-06-05 07:59 Kent Sibilev
622
+
623
+ * ruby-debug-base.rb: restore post_mortem
624
+
625
+ 2007-06-02 15:01 Rocky Bernstein
626
+
627
+ * ruby-debug-base.rb: lib/ruby-debug-base.rb: add Quit and Restart
628
+ exceptions which can reliably be used after the delayed exception
629
+ handling bug is fixed
630
+ emacs/rdebug-track.el and cli/ruby-debug/processor.rb: more
631
+ accurate line tracking in EMACS. When not in emacs should be more
632
+ like what was there.
633
+
634
+ 2007-06-01 21:57 Rocky Bernstein
635
+
636
+ * ruby-debug-base.rb: parens around a print seems to give a
637
+ warning. Remove.
638
+
639
+ 2007-05-23 16:43 Rocky Bernstein
640
+
641
+ * ruby-debug-base.rb: post_mortem: to test $! *before* running
642
+ debug_at_ext or else we may get an erroneous message:
643
+ ruby-debug-base.rb:162:in `current_context': Debugger.start is
644
+ not called yet. (RuntimeError)
645
+
646
+ A simple test case to show the problem:
647
+
648
+ "require rubygems"
649
+ "require ruby-debug"
650
+ Debugger.start
651
+ Debugger.post_mortem
652
+ exit # Causes us to incorrectly give the above error
653
+
654
+ 2007-05-15 20:22 Kent Sibilev
655
+
656
+ * ruby-debug-base.rb: various fixes
657
+
658
+ 2007-04-27 23:21 Kent Sibilev
659
+
660
+ * ruby-debug-base.rb: ditto
661
+
662
+ 2007-04-27 23:19 Kent Sibilev
663
+
664
+ * ruby-debug-base.rb: add breakpoint method as an alias for
665
+ debugger in case breakpoint method is not defined already
666
+
667
+ 2007-03-25 01:03 Kent Sibilev
668
+
669
+ * ruby-debug-base.rb: will start the debugger if necessary
670
+
671
+ 2007-03-24 18:17 Kent Sibilev
672
+
673
+ * : stable becomes the trunk
674
+
675
+ 2007-03-13 17:06 Kent Sibilev
676
+
677
+ * : fixed rdoc
678
+
679
+ 2007-03-01 23:44 Kent Sibilev
680
+
681
+ * : fixed post-mortem
682
+
683
+ 2007-02-27 08:02 Kent Sibilev
684
+
685
+ * : repackaging ruby-debug
686
+
687
+ 2007-02-23 20:56 Kent Sibilev
688
+
689
+ * : added an option for Debugger.debug_load to stop at the first
690
+ line of code
691
+
692
+ 2007-02-12 06:59 Kent Sibilev
693
+
694
+ * : added --emacs option
695
+
696
+ 2007-02-09 16:56 Kent Sibilev
697
+
698
+ * : in remote mode the debugger shouldn't stop inside of rdebug
699
+ script
700
+
701
+ 2007-02-09 06:20 Kent Sibilev
702
+
703
+ * : --
704
+
705
+ 2007-02-09 01:00 Kent Sibilev
706
+
707
+ * : fixed code reloading
708
+ made 'reload on' as a part of the 'set' command
709
+ evaluate ~/.rdebugrc as an init script
710
+
711
+ 2007-02-07 02:42 Kent Sibilev
712
+
713
+ * : should use ignored? method to check for the debugger's thread
714
+
715
+ 2007-02-06 22:21 Kent Sibilev
716
+
717
+ * :
718
+
719
+ 2007-02-05 22:48 Kent Sibilev
720
+
721
+ * : --
722
+
723
+ 2007-02-05 22:11 Kent Sibilev
724
+
725
+ * : fixed emacs integration
726
+
727
+ 2007-02-05 20:16 Kent Sibilev
728
+
729
+ * : fixed another issue where a bogus frame is being left in the
730
+ stack
731
+
732
+ 2007-02-04 23:36 Kent Sibilev
733
+
734
+ * : seg fault bugfixes
735
+ fixed suspend/resume
736
+
737
+ 2007-02-04 03:49 Kent Sibilev
738
+
739
+ * : A better fix for the segmentation fault
740
+
741
+ 2007-02-03 20:24 Kent Sibilev
742
+
743
+ * : fix seg fault by avoiding ruby's bug
744
+ fixed Context#resume
745
+ when handling post-mortem all threads must be suspended
746
+
747
+ 2007-02-02 18:47 Kent Sibilev
748
+
749
+ * : removed ambiguity with down command
750
+
751
+ 2007-02-01 23:48 Kent Sibilev
752
+
753
+ * : typo
754
+
755
+ 2007-02-01 22:15 Kent Sibilev
756
+
757
+ * : made eval command available from the control thread
758
+
759
+ 2007-02-01 07:22 Kent Sibilev
760
+
761
+ * : added setting command
762
+ added Context#suspended? method
763
+ dispay suspended status in the thread list
764
+ display frame starting from zero
765
+
766
+ 2007-01-31 21:13 Kent Sibilev
767
+
768
+ * : ditto
769
+
770
+ 2007-01-31 21:12 Kent Sibilev
771
+
772
+ * : fixed help command
773
+
774
+ 2007-01-31 19:39 Kent Sibilev
775
+
776
+ * : fixed frame count
777
+ added frame_self method to context
778
+
779
+ 2007-01-31 16:48 Kent Sibilev
780
+
781
+ * : removed all references to frames array
782
+ fixed post-mortem debugging
783
+
784
+ 2007-01-31 00:51 Kent Sibilev
785
+
786
+ * : removed obsolete frames usage
787
+
788
+ 2007-01-31 00:41 Kent Sibilev
789
+
790
+ * : refactored out frame class and preallocate stack
791
+ made local variable available even when bindings are not
792
+ collected.
793
+
794
+ 2007-01-28 20:25 Kent Sibilev
795
+
796
+ * : --
797
+
798
+ 2007-01-28 06:22 Kent Sibilev
799
+
800
+ * : - Control thread is always started by rdebug script.
801
+ - Ability to specify negative frame number to frame commands.
802
+ Patch from R. Bernstein.
803
+
804
+ 2007-01-28 04:52 Kent Sibilev
805
+
806
+ * : added top frame caching
807
+ control thread is always started by rdebug script
808
+
809
+ 2007-01-27 01:43 Kent Sibilev
810
+
811
+ * : another performance optimization
812
+
813
+ 2007-01-26 20:28 Kent Sibilev
814
+
815
+ * : fixed #7484
816
+
817
+ 2007-01-26 17:59 Kent Sibilev
818
+
819
+ * : revisited file name comparing procedure
820
+
821
+ 2007-01-26 09:03 Kent Sibilev
822
+
823
+ * : performance improvements
824
+
825
+ 2007-01-26 03:12 Kent Sibilev
826
+
827
+ * : added option to exclude collecting of frame bindings
828
+
829
+ 2007-01-24 18:33 Kent Sibilev
830
+
831
+ * : disable tracing when in post-mortem
832
+ added -x/--trace option to rdebug script
833
+
834
+ 2007-01-21 08:13 Kent Sibilev
835
+
836
+ * :
837
+
838
+ 2007-01-21 03:34 Kent Sibilev
839
+
840
+ * : assign an id to the breakpoint
841
+
842
+ 2007-01-21 01:20 Kent Sibilev
843
+
844
+ * : added post_mortem_method wrap method
845
+
846
+ 2006-12-21 20:16 Kent Sibilev
847
+
848
+ * : added 'restart' command
849
+
850
+ 2006-12-21 14:12 Kent Sibilev
851
+
852
+ * : made 'exit' an alias to 'quit'
853
+ fixed the interoperability problem with rspec
854
+
855
+ 2006-12-21 13:43 Kent Sibilev
856
+
857
+ * : fixed trace command in post-mortem mode
858
+
859
+ 2006-12-21 01:59 Kent Sibilev
860
+
861
+ * : initialize only once
862
+
863
+ 2006-12-21 01:08 Kent Sibilev
864
+
865
+ * : fixes irb help command
866
+
867
+ 2006-12-20 21:19 Kent Sibilev
868
+
869
+ * : check that debugger has been started
870
+
871
+ 2006-12-20 20:08 Kent Sibilev
872
+
873
+ * : added post-mortem option to rdebug
874
+
875
+ 2006-12-20 19:38 Kent Sibilev
876
+
877
+ * : initial support for post-mortem debugging
878
+
879
+ 2006-12-19 06:13 Kent Sibilev
880
+
881
+ * : removed 'run' alias
882
+
883
+ 2006-12-18 08:34 Kent Sibilev
884
+
885
+ * : added irb command
886
+ fixed source_for method
887
+
888
+ 2006-12-02 19:15 Kent Sibilev
889
+
890
+ * : added reload command
891
+
892
+ 2006-12-02 18:32 Kent Sibilev
893
+
894
+ * : fixed #6518 and #6545
895
+
896
+ 2006-12-01 06:47 Kent Sibilev
897
+
898
+ * :
899
+
900
+ 2006-11-21 23:29 Kent Sibilev
901
+
902
+ * : ensure that on/off is the last on the line
903
+
904
+ 2006-11-16 00:04 Kent Sibilev
905
+
906
+ * : fixed debug_method for assignment methods
907
+
908
+ 2006-11-16 00:01 Kent Sibilev
909
+
910
+ * : added the new branch for the stable version
911
+
912
+ 2006-10-15 22:43 Kent Sibilev
913
+
914
+ * : branching a stable version
915
+
916
+ 2006-10-15 22:26 Kent Sibilev
917
+
918
+ * ruby-debug.rb: remove unused require
919
+ uploaded new windows binary
920
+
921
+ 2006-10-15 19:02 Kent Sibilev
922
+
923
+ * ruby-debug/commands/display.rb: remove unused constructor
924
+
925
+ 2006-10-15 16:54 Kent Sibilev
926
+
927
+ * ruby-debug.rb, ruby-debug/commands/threads.rb: new logic of
928
+ context suspend/resume
929
+
930
+ 2006-10-15 07:36 Kent Sibilev
931
+
932
+ * ruby-debug.rb, ruby-debug/lock.rb: fixed locking of debugger
933
+ threads
934
+
935
+ 2006-10-09 22:01 Kent Sibilev
936
+
937
+ * ruby-debug/interface.rb: fixes for windows version
938
+
939
+ 2006-10-09 19:06 Kent Sibilev
940
+
941
+ * ruby-debug.rb, ruby-debug/interface.rb: added Debugger.skip and
942
+ Debugger.debug_at_exit methods
943
+
944
+ 2006-10-09 16:44 Kent Sibilev
945
+
946
+ * ., ruby-debug, ruby-debug.rb, ruby-debug/command.rb,
947
+ ruby-debug/commands, ruby-debug/commands/breakpoints.rb,
948
+ ruby-debug/commands/catchpoint.rb,
949
+ ruby-debug/commands/control.rb, ruby-debug/commands/display.rb,
950
+ ruby-debug/commands/eval.rb, ruby-debug/commands/frame.rb,
951
+ ruby-debug/commands/help.rb, ruby-debug/commands/list.rb,
952
+ ruby-debug/commands/method.rb, ruby-debug/commands/script.rb,
953
+ ruby-debug/commands/stepping.rb, ruby-debug/commands/threads.rb,
954
+ ruby-debug/commands/tmate.rb, ruby-debug/commands/trace.rb,
955
+ ruby-debug/commands/variables.rb, ruby-debug/interface.rb,
956
+ ruby-debug/lock.rb, ruby-debug/processor.rb: initial import
957
+