ruby-debug-base 0.10.3 → 0.10.4

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,18 @@
1
+ 0.10.4
2
+ 10/27/10
3
+
4
+ - Various bug fixes:
5
+ * reload command.
6
+ * plain 'info' command
7
+ * improve list and list - (backwards) handling when hitting end of file
8
+ - Add ability to specify port to debug on
9
+ - Allow breakpoints at class methods
10
+ - "quit!" is same as "quit unconditionally"
11
+ - irb improvements: Access to non-executing rdebug commands inside irb via
12
+ "dbgr" method
13
+ - Go over documentation including that created by rdoc.
14
+ - For emacs package: add README, INSTALL, AUTHORS.
15
+
1
16
  0.10.3
2
17
  11/17/08
3
18
 
data/Rakefile CHANGED
@@ -6,17 +6,37 @@ require 'rake/rdoctask'
6
6
  require 'rake/testtask'
7
7
 
8
8
  SO_NAME = "ruby_debug.so"
9
+ ROOT_DIR = File.dirname(__FILE__)
10
+ VERSION_FILE = ROOT_DIR + '/VERSION'
11
+
12
+ def make_version_file
13
+ ruby_debug_version = open("ext/ruby_debug.c").
14
+ grep(/^#define DEBUG_VERSION/).first[/"(.+)"/,1]
15
+ File.open(VERSION_FILE, 'w') do |f|
16
+ f.write(
17
+ "# This file was created automatically from data in ext/ruby_debug.c via:
18
+ # rake :make_version_file.
19
+ #{ruby_debug_version}
20
+ ")
21
+ end
22
+ end
9
23
 
10
- # ------- Default Package ----------
11
- RUBY_DEBUG_VERSION = open("ext/ruby_debug.c") do |f|
12
- f.grep(/^#define DEBUG_VERSION/).first[/"(.+)"/,1]
24
+ make_version_file unless File.exist?(VERSION_FILE)
25
+ ruby_debug_version = nil
26
+ open(VERSION_FILE).each do |line|
27
+ next if line =~ /^#/
28
+ ruby_debug_version = line.chomp
29
+ break
13
30
  end
14
31
 
32
+
33
+ # ------- Default Package ----------
15
34
  COMMON_FILES = FileList[
16
35
  'AUTHORS',
17
36
  'CHANGES',
18
37
  'LICENSE',
19
38
  'README',
39
+ 'VERSION',
20
40
  'Rakefile',
21
41
  ]
22
42
 
@@ -29,17 +49,23 @@ CLI_FILES = COMMON_FILES + FileList[
29
49
  'ChangeLog',
30
50
  'bin/*',
31
51
  'doc/rdebug.1',
52
+ 'test/rdebug-save.1',
32
53
  'test/**/data/*.cmd',
33
54
  'test/**/data/*.right',
55
+ 'test/config.yaml',
34
56
  'test/**/*.rb',
35
57
  'rdbg.rb',
58
+ 'runner.sh',
36
59
  CLI_TEST_FILE_LIST
37
60
  ]
38
61
 
39
62
  BASE_TEST_FILE_LIST = %w(
40
63
  test/base/base.rb
41
64
  test/base/binding.rb
42
- test/base/catchpoint.rb)
65
+ test/base/catchpoint.rb
66
+ test/base/reload_bug.rb
67
+ )
68
+
43
69
  BASE_FILES = COMMON_FILES + FileList[
44
70
  'ext/breakpoint.c',
45
71
  'ext/extconf.rb',
@@ -51,9 +77,12 @@ BASE_FILES = COMMON_FILES + FileList[
51
77
  ]
52
78
 
53
79
  desc "Test everything."
54
- task :test => :test_base do
80
+ ext = File.join(ROOT_DIR, 'ext')
81
+ test_and_args = File.exist?(ext) ? {:test => :test_base} : [:test]
82
+ task test_and_args do
55
83
  Rake::TestTask.new(:test) do |t|
56
- t.libs << ['./ext', './lib', './cli']
84
+ t.libs += %W(#{ROOT_DIR}/lib #{ROOT_DIR}/cli)
85
+ t.libs << ext if File.exist?(ext)
57
86
  t.test_files = CLI_TEST_FILE_LIST
58
87
  t.verbose = true
59
88
  end
@@ -62,7 +91,7 @@ end
62
91
  desc "Test ruby-debug-base."
63
92
  task :test_base => :lib do
64
93
  Rake::TestTask.new(:test_base) do |t|
65
- t.libs << ['./ext', './lib']
94
+ t.libs += ['./ext', './lib']
66
95
  t.test_files = FileList[BASE_TEST_FILE_LIST]
67
96
  t.verbose = true
68
97
  end
@@ -88,9 +117,9 @@ end
88
117
 
89
118
  desc "Create a GNU-style ChangeLog via svn2cl"
90
119
  task :ChangeLog do
91
- system("svn2cl --authors=svn2cl_usermap svn://rubyforge.org/var/svn/ruby-debug/trunk")
92
- system("svn2cl --authors=svn2cl_usermap svn://rubyforge.org/var/svn/ruby-debug/trunk/ext -o ext/ChangeLog")
93
- system("svn2cl --authors=svn2cl_usermap svn://rubyforge.org/var/svn/ruby-debug/trunk/lib -o lib/ChangeLog")
120
+ system('svn2cl --authors=svn2cl_usermap http://ruby-debug.rubyforge.org/svn/trunk')
121
+ system("svn2cl --authors=svn2cl_usermap http://ruby-debug.rubyforge.org/svn/trunk/ext -o ext/ChangeLog")
122
+ system("svn2cl --authors=svn2cl_usermap http://ruby-debug.rubyforge.org/svn/trunk/lib -o lib/ChangeLog")
94
123
  end
95
124
 
96
125
  # Base GEM Specification
@@ -106,7 +135,7 @@ provides support that front-ends can build on. It provides breakpoint
106
135
  handling, bindings for stack frames among other things.
107
136
  EOF
108
137
 
109
- spec.version = RUBY_DEBUG_VERSION
138
+ spec.version = ruby_debug_version
110
139
 
111
140
  spec.author = "Kent Sibilev"
112
141
  spec.email = "ksibilev@yahoo.com"
@@ -136,7 +165,7 @@ cli_spec = Gem::Specification.new do |spec|
136
165
  A generic command line interface for ruby-debug.
137
166
  EOF
138
167
 
139
- spec.version = RUBY_DEBUG_VERSION
168
+ spec.version = ruby_debug_version
140
169
 
141
170
  spec.author = "Kent Sibilev"
142
171
  spec.email = "ksibilev@yahoo.com"
@@ -150,7 +179,7 @@ EOF
150
179
  spec.date = Time.now
151
180
  spec.rubyforge_project = 'ruby-debug'
152
181
  spec.add_dependency('columnize', '>= 0.1')
153
- spec.add_dependency('ruby-debug-base', "~> #{RUBY_DEBUG_VERSION}.0")
182
+ spec.add_dependency('ruby-debug-base', "~> #{ruby_debug_version}.0")
154
183
 
155
184
  # FIXME: work out operational logistics for this
156
185
  # spec.test_files = FileList[CLI_TEST_FILE_LIST]
@@ -228,6 +257,7 @@ Rake::RDocTask.new("rdoc") do |rdoc|
228
257
  rdoc.options << '--main' << 'README'
229
258
  rdoc.rdoc_files.include('bin/**/*',
230
259
  'cli/ruby-debug/commands/*.rb',
260
+ 'cli/ruby-debug/*.rb',
231
261
  'lib/**/*.rb',
232
262
  'ext/**/ruby_debug.c',
233
263
  'README',
@@ -253,3 +283,29 @@ task :rubyforge_upload do
253
283
  system(release_command)
254
284
  end
255
285
  end
286
+
287
+ def install(spec, *opts)
288
+ args = ['gem', 'install', "pkg/#{spec.name}-#{spec.version}.gem"] + opts
289
+ args.unshift 'sudo' unless 0 == Process.uid
290
+ system(*args)
291
+ end
292
+
293
+ desc 'Install locally'
294
+ task :install => :package do
295
+ Dir.chdir(File::dirname(__FILE__)) do
296
+ # ri and rdoc take lots of time
297
+ install(base_spec, '--no-ri', '--no-rdoc')
298
+ install(cli_spec, '--no-ri', '--no-rdoc')
299
+ end
300
+ end
301
+
302
+ task :install_full => :package do
303
+ Dir.chdir(File::dirname(__FILE__)) do
304
+ install(base_spec)
305
+ install(cli_spec)
306
+ end
307
+ end
308
+
309
+ task :make_version_file do
310
+ make_version_file
311
+ end
data/VERSION ADDED
@@ -0,0 +1,3 @@
1
+ # This file was created automatically from data in ext/ruby_debug.c via:
2
+ # rake :make_version_file.
3
+ 0.10.4
@@ -68,7 +68,7 @@ check_breakpoint_by_pos(VALUE breakpoint, char *file, int line)
68
68
  }
69
69
 
70
70
  int
71
- check_breakpoint_by_method(VALUE breakpoint, VALUE klass, ID mid)
71
+ check_breakpoint_by_method(VALUE breakpoint, VALUE klass, ID mid, VALUE self)
72
72
  {
73
73
  debug_breakpoint_t *debug_breakpoint;
74
74
 
@@ -82,6 +82,9 @@ check_breakpoint_by_method(VALUE breakpoint, VALUE klass, ID mid)
82
82
  return 0;
83
83
  if(classname_cmp(debug_breakpoint->source, klass))
84
84
  return 1;
85
+ if ((rb_type(self) == T_CLASS) &&
86
+ classname_cmp(debug_breakpoint->source, self))
87
+ return 1;
85
88
  return 0;
86
89
  }
87
90
 
@@ -109,7 +112,7 @@ check_breakpoints_by_pos(debug_context_t *debug_context, char *file, int line)
109
112
  }
110
113
 
111
114
  VALUE
112
- check_breakpoints_by_method(debug_context_t *debug_context, VALUE klass, ID mid)
115
+ check_breakpoints_by_method(debug_context_t *debug_context, VALUE klass, ID mid, VALUE self)
113
116
  {
114
117
  VALUE breakpoint;
115
118
  int i;
@@ -117,7 +120,7 @@ check_breakpoints_by_method(debug_context_t *debug_context, VALUE klass, ID mid)
117
120
  if(!CTX_FL_TEST(debug_context, CTX_FL_ENABLE_BKPT))
118
121
  return Qnil;
119
122
 
120
- if(check_breakpoint_by_method(debug_context->breakpoint, klass, mid))
123
+ if(check_breakpoint_by_method(debug_context->breakpoint, klass, mid, self))
121
124
  return debug_context->breakpoint;
122
125
 
123
126
  if(RARRAY(rdebug_breakpoints)->len == 0)
@@ -125,7 +128,7 @@ check_breakpoints_by_method(debug_context_t *debug_context, VALUE klass, ID mid)
125
128
  for(i = 0; i < RARRAY(rdebug_breakpoints)->len; i++)
126
129
  {
127
130
  breakpoint = rb_ary_entry(rdebug_breakpoints, i);
128
- if(check_breakpoint_by_method(breakpoint, klass, mid))
131
+ if(check_breakpoint_by_method(breakpoint, klass, mid, self))
129
132
  return breakpoint;
130
133
  }
131
134
  return Qnil;
@@ -253,7 +256,7 @@ rdebug_add_catchpoint(VALUE self, VALUE value)
253
256
 
254
257
  /*
255
258
  * call-seq:
256
- * context.breakpoint -> breakpoint
259
+ * context.breakpoint -> Breakpoint
257
260
  *
258
261
  * Returns a context-specific temporary Breakpoint object.
259
262
  */
@@ -6,8 +6,7 @@
6
6
  #include <st.h>
7
7
  #include <intern.h>
8
8
 
9
- #define DEBUG_VERSION "0.10.3"
10
-
9
+ #define DEBUG_VERSION "0.10.4"
11
10
 
12
11
  #ifdef _WIN32
13
12
  struct FRAME {
@@ -480,7 +479,7 @@ save_call_frame(rb_event_t event, VALUE self, char *file, int line, ID mid, debu
480
479
  if(frame_n >= debug_context->stack_len)
481
480
  {
482
481
  debug_context->stack_len += STACK_SIZE_INCREMENT;
483
- debug_context->frames = REALLOC_N(debug_context->frames, debug_frame_t, debug_context->stack_len);
482
+ REALLOC_N(debug_context->frames, debug_frame_t, debug_context->stack_len);
484
483
  }
485
484
  debug_frame = &debug_context->frames[frame_n];
486
485
  debug_frame->argc = ruby_frame->argc;
@@ -534,8 +533,9 @@ filename_cmp(VALUE source, char *file)
534
533
  }
535
534
 
536
535
  /*
537
- * This is a NASTY HACK. For some reasons rb_f_binding is declared
538
- * static in eval.c. So we create a cons up call to binding in C.
536
+ * A nasty hack to be able to get at the +Kernel.binding+ method.
537
+ * +rb_f_binding+ is declared static in eval.c. So copy and save our own value
538
+ * of it by looking up the method name in the Kernel module.
539
539
  */
540
540
  static VALUE
541
541
  create_binding(VALUE self)
@@ -806,7 +806,7 @@ debug_event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
806
806
  case RUBY_EVENT_CALL:
807
807
  {
808
808
  save_call_frame(event, self, file, line, mid, debug_context);
809
- breakpoint = check_breakpoints_by_method(debug_context, klass, mid);
809
+ breakpoint = check_breakpoints_by_method(debug_context, klass, mid, self);
810
810
  if(breakpoint != Qnil)
811
811
  {
812
812
  debug_frame_t *debug_frame;
@@ -924,8 +924,13 @@ debug_event_hook(rb_event_t event, NODE *node, VALUE self, ID mid, VALUE klass)
924
924
  hit_count = rb_hash_aref(rdebug_catchpoints, mod_name);
925
925
  if(hit_count != Qnil)
926
926
  {
927
- hit_count = INT2FIX(FIX2INT(rb_hash_aref(rdebug_catchpoints,
928
- mod_name)+1));
927
+ /* On 64-bit systems with gcc and -O2 there seems to be
928
+ an optimization bug in running INT2FIX(FIX2INT...)..)
929
+ So we do this in two steps.
930
+ */
931
+ int c_hit_count = FIX2INT(rb_hash_aref(rdebug_catchpoints,
932
+ mod_name)) + 1;
933
+ hit_count = INT2FIX(c_hit_count);
929
934
  rb_hash_aset(rdebug_catchpoints, mod_name, hit_count);
930
935
  debug_context->stop_reason = CTX_STOP_CATCHPOINT;
931
936
  rb_funcall(context, idAtCatchpoint, 1, ruby_errinfo);
@@ -2168,9 +2173,10 @@ context_stop_reason(VALUE self)
2168
2173
  /*
2169
2174
  * Document-class: Context
2170
2175
  *
2171
- * == Summary
2172
- *
2173
- * Debugger keeps a single instance of this class for each Ruby thread.
2176
+ * The Debugger module keeps a single instance of this class for
2177
+ * each Ruby thread. It contains a call-stack information, thread
2178
+ * information, breakpoint information and the reason the program is
2179
+ * stopped.
2174
2180
  */
2175
2181
  static void
2176
2182
  Init_context()
@@ -2209,9 +2215,10 @@ Init_context()
2209
2215
 
2210
2216
  /*
2211
2217
  * call-seq:
2212
- * Debugger.breakpoints -> array
2218
+ * Debugger.breakpoints -> Array
2213
2219
  *
2214
- * Returns an array of breakpoints.
2220
+ * Returns an Array of Breakpoint objects; all the breakpoints that
2221
+ * have been created.
2215
2222
  */
2216
2223
  static VALUE
2217
2224
  debug_breakpoints(VALUE self)
@@ -2246,10 +2253,7 @@ debug_add_breakpoint(int argc, VALUE *argv, VALUE self)
2246
2253
  /*
2247
2254
  * Document-class: Debugger
2248
2255
  *
2249
- * == Summary
2250
- *
2251
- * This is a singleton class allows controlling the debugger. Use it to start/stop debugger,
2252
- * set/remove breakpoints, etc.
2256
+ * _Debugger_ is the module name space for ruby-debug.
2253
2257
  */
2254
2258
  #if defined(_WIN32)
2255
2259
  __declspec(dllexport)
@@ -110,7 +110,7 @@ typedef struct {
110
110
  extern int check_breakpoint_expression(VALUE breakpoint, VALUE binding);
111
111
  extern int check_breakpoint_hit_condition(VALUE breakpoint);
112
112
  extern VALUE check_breakpoints_by_method(debug_context_t *debug_context,
113
- VALUE klass, ID mid);
113
+ VALUE klass, ID mid, VALUE self);
114
114
  extern VALUE check_breakpoints_by_pos(debug_context_t *debug_context,
115
115
  char *file, int line);
116
116
  extern VALUE create_breakpoint_from_args(int argc, VALUE *argv, int id);
@@ -7,32 +7,35 @@ srcdir = ..
7
7
  topdir = /usr/local/ruby-mingw32/lib/ruby/1.8/i386-mingw32
8
8
  hdrdir = $(topdir)
9
9
  VPATH = $(srcdir):$(topdir):$(hdrdir)
10
- prefix = $(DESTDIR)/usr/local/ruby-mingw32
11
10
  exec_prefix = $(prefix)
12
- sitedir = $(prefix)/lib/ruby/site_ruby
13
- rubylibdir = $(libdir)/ruby/$(ruby_version)
14
- docdir = $(datarootdir)/doc/$(PACKAGE)
15
- dvidir = $(docdir)
16
- datarootdir = $(prefix)/share
17
- archdir = $(rubylibdir)/$(arch)
18
- sbindir = $(exec_prefix)/sbin
11
+ prefix = $(DESTDIR)/usr/local/ruby-mingw32
12
+ sharedstatedir = $(prefix)/com
13
+ mandir = $(datarootdir)/man
19
14
  psdir = $(docdir)
15
+ oldincludedir = $(DESTDIR)/usr/include
20
16
  localedir = $(datarootdir)/locale
17
+ bindir = $(exec_prefix)/bin
18
+ libexecdir = $(exec_prefix)/libexec
19
+ sitedir = $(libdir)/ruby/site_ruby
21
20
  htmldir = $(docdir)
22
- datadir = $(datarootdir)
21
+ vendorarchdir = $(vendorlibdir)/$(sitearch)
23
22
  includedir = $(prefix)/include
24
23
  infodir = $(datarootdir)/info
24
+ vendorlibdir = $(vendordir)/$(ruby_version)
25
25
  sysconfdir = $(prefix)/etc
26
- mandir = $(datarootdir)/man
27
26
  libdir = $(exec_prefix)/lib
28
- sharedstatedir = $(prefix)/com
29
- oldincludedir = $(DESTDIR)/usr/include
27
+ sbindir = $(exec_prefix)/sbin
28
+ rubylibdir = $(libdir)/ruby/$(ruby_version)
29
+ docdir = $(datarootdir)/doc/$(PACKAGE)
30
+ dvidir = $(docdir)
31
+ vendordir = $(libdir)/ruby/vendor_ruby
32
+ datarootdir = $(prefix)/share
30
33
  pdfdir = $(docdir)
34
+ archdir = $(rubylibdir)/$(arch)
31
35
  sitearchdir = $(sitelibdir)/$(sitearch)
32
- bindir = $(exec_prefix)/bin
36
+ datadir = $(datarootdir)
33
37
  localstatedir = $(prefix)/var
34
38
  sitelibdir = $(sitedir)/$(ruby_version)
35
- libexecdir = $(exec_prefix)/libexec
36
39
 
37
40
  CC = i586-mingw32msvc-gcc
38
41
  LIBRUBY = lib$(LIBRUBY_SO).a
@@ -41,11 +44,15 @@ LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
41
44
  LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
42
45
 
43
46
  RUBY_EXTCONF_H =
44
- CFLAGS = -g -O2
47
+ CFLAGS = -g -O2 $(cflags)
45
48
  INCFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir)
46
- CPPFLAGS =
49
+ DEFS =
50
+ CPPFLAGS = $(DEFS) $(cppflags)
47
51
  CXXFLAGS = $(CFLAGS)
48
- DLDFLAGS = -L. -Wl,--enable-auto-image-base,--enable-auto-import,--export-all
52
+ ldflags = -L.
53
+ dldflags = -Wl,--enable-auto-image-base,--enable-auto-import,--export-all
54
+ archflag =
55
+ DLDFLAGS = $(ldflags) $(dldflags) $(archflag)
49
56
  LDSHARED = i586-mingw32msvc-gcc -shared -s
50
57
  AR = i586-mingw32msvc-ar
51
58
  EXEEXT = .exe
@@ -69,17 +76,17 @@ COPY = cp
69
76
  preload =
70
77
 
71
78
  libpath = . $(libdir)
72
- LIBPATH = -L"." -L"$(libdir)"
79
+ LIBPATH = -L. -L$(libdir)
73
80
  DEFFILE =
74
81
 
75
- CLEANFILES =
82
+ CLEANFILES = mkmf.log
76
83
  DISTCLEANFILES =
77
84
 
78
85
  extout =
79
86
  extout_prefix =
80
87
  target_prefix =
81
88
  LOCAL_LIBS =
82
- LIBS = $(LIBRUBYARG_SHARED) -lwsock32
89
+ LIBS = $(LIBRUBYARG_SHARED) -lshell32 -lwsock32
83
90
  SRCS = ruby_debug.c breakpoint.c
84
91
  OBJS = ruby_debug.o breakpoint.o
85
92
  TARGET = ruby_debug
@@ -87,6 +94,7 @@ DLLIB = $(TARGET).so
87
94
  EXTSTATIC =
88
95
  STATIC_LIB =
89
96
 
97
+ BINDIR = $(bindir)
90
98
  RUBYCOMMONDIR = $(sitedir)$(target_prefix)
91
99
  RUBYLIBDIR = $(sitelibdir)$(target_prefix)
92
100
  RUBYARCHDIR = $(sitearchdir)$(target_prefix)
@@ -140,7 +148,7 @@ site-install-rb: install-rb
140
148
  .c.o:
141
149
  $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
142
150
 
143
- $(DLLIB): $(OBJS)
151
+ $(DLLIB): $(OBJS) Makefile
144
152
  @-$(RM) $@
145
153
  $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
146
154
 
Binary file
Binary file
Binary file
@@ -1,3 +1,119 @@
1
+ 2010-10-15 14:45 Rocky Bernstein
2
+
3
+ * ChangeLog, ruby-debug-base.rb: Go over documentation (1st pass)
4
+ including that created by rdoc.
5
+ Better instructions for how to build on MS Windows and the
6
+ include
7
+ cross-compile.sh script I use.
8
+ Update rubyforge URL's used to building ChangeLogs.
9
+
10
+ 2010-10-14 01:41 Rocky Bernstein
11
+
12
+ * ChangeLog: improve list and list - (backwards) handling when
13
+ hitting end of file.
14
+
15
+ 2010-09-20 11:06 Rocky Bernstein
16
+
17
+ * ChangeLog: "rake test" of ruby-debug gem should now work without
18
+ requiring or using ruby-debug-base code. Rubyforge tracker
19
+ #28560.
20
+
21
+ 2010-09-20 09:33 Rocky Bernstein
22
+
23
+ * ChangeLog: Make sure version file is closed. Thanks to Mamoru
24
+ Tasaka. Tracker #28581.
25
+
26
+ 2010-09-15 16:58 Rocky Bernstein
27
+
28
+ * ChangeLog: Rakefile: make rake --prereqs work if only
29
+ ruby-debug.tar.gz is used. Add
30
+ test/config.yml to gem. See tracker #28560.
31
+ ruby_debug.c: 10.0.4.rc2 now
32
+
33
+ 2010-09-12 01:30 Rocky Bernstein
34
+
35
+ * ChangeLog: pm.rb: spelling mistake
36
+
37
+ 2010-08-13 05:32 Rocky Bernstein
38
+
39
+ * ChangeLog: Add Debugger.inside_emacs? Environment variable EMACS
40
+ for inside Emacs is deprecated in favor of INSIDE_EMACS.
41
+ Rubyforge #28465.
42
+
43
+ 2010-08-02 12:51 Rocky Bernstein
44
+
45
+ * ChangeLog: Go over installation instructions for Emacs.
46
+ Add a basic files, README, INSTALL and AUTHORS.
47
+ Change version from 0.10.4vc to 0.10.4rc1
48
+
49
+ 2010-05-06 21:59 Rocky Bernstein
50
+
51
+ * ChangeLog: More explicit about incomplete saved frames. Now
52
+ reads:
53
+ Warning: saved frames may be incomplete;
54
+ compare debugger backtrace (bt) with Ruby caller(0).
55
+
56
+ 2010-04-18 07:18 Rocky Bernstein
57
+
58
+ * ruby-debug-base.rb: Fix bug in "reload" command. tracker #26130
59
+
60
+ 2010-03-21 23:09 Rocky Bernstein
61
+
62
+ * ChangeLog: Add ability to start remote debugging on random ports
63
+ and to query those ports. Tracker #27889 from Hongli Lai.
64
+
65
+ 2010-03-16 04:23 Rocky Bernstein
66
+
67
+ * ChangeLog: Fix for what looks like an optimization bug on 64-bit
68
+ gcc systems with optimization. The Symptom is that debugger
69
+ "catch" causes the program to immediately terminate when the Ruby
70
+ exception is raised. Possibly a problem in using
71
+ INT2FIX(FIX2INT...)..) and/or possibly a bug in those macros.
72
+
73
+ 2010-03-12 20:27 Rocky Bernstein
74
+
75
+ * ChangeLog: irb.rb: Goodness backported from rbdbgr. Add IRB 'q'
76
+ for quit and ability to
77
+ run debugger commands from inside irb via dbgr, e.g. >> dbgr
78
+ 'where'
79
+
80
+ kill.rb: remove spurious debug output
81
+
82
+ Rakefile: add install targets (backport from rbdbgr)
83
+
84
+ 2009-11-28 22:56 Rocky Bernstein
85
+
86
+ * ChangeLog: Fix problem caused by gdb-ui renamed to gdb-mi.
87
+ Rubyforge tracker #27152
88
+ Remove all Emacs byte compile warning messages.
89
+
90
+ Note however all of this code will eventually be phased out in
91
+ favor
92
+ of emacs-dbgr (on github).
93
+
94
+ 2009-04-04 14:11 Rocky Bernstein
95
+
96
+ * ChangeLog: Make test-save less installation-specific
97
+
98
+ 2009-03-29 03:00 Rocky Bernstein
99
+
100
+ * ChangeLog: Canonicalize breakpoint locations a little better.
101
+ More work should be done and more work should be done on the
102
+ testing side too.
103
+
104
+ 2009-03-11 23:42 Rocky Bernstein
105
+
106
+ * ChangeLog: update texinfo for catch
107
+
108
+ 2008-11-25 02:43 Rocky Bernstein
109
+
110
+ * ChangeLog: Frame without a frame number means frame 0, same as
111
+ gdb. We are now in 0.10.4 territory now.
112
+
113
+ 2008-11-16 00:14 Rocky Bernstein
114
+
115
+ * ChangeLog: Add rdoc for rdebug script.
116
+
1
117
  2008-11-14 19:28 Rocky Bernstein
2
118
 
3
119
  * ruby-debug-base.rb: Go over documentation and revise.
@@ -759,248 +875,248 @@
759
875
 
760
876
  2007-03-24 18:17 Kent Sibilev
761
877
 
762
- * : stable becomes the trunk
878
+ * stable becomes the trunk
763
879
 
764
880
  2007-03-13 17:06 Kent Sibilev
765
881
 
766
- * : fixed rdoc
882
+ * fixed rdoc
767
883
 
768
884
  2007-03-01 23:44 Kent Sibilev
769
885
 
770
- * : fixed post-mortem
886
+ * fixed post-mortem
771
887
 
772
888
  2007-02-27 08:02 Kent Sibilev
773
889
 
774
- * : repackaging ruby-debug
890
+ * repackaging ruby-debug
775
891
 
776
892
  2007-02-23 20:56 Kent Sibilev
777
893
 
778
- * : added an option for Debugger.debug_load to stop at the first
779
- line of code
894
+ * added an option for Debugger.debug_load to stop at the first line
895
+ of code
780
896
 
781
897
  2007-02-12 06:59 Kent Sibilev
782
898
 
783
- * : added --emacs option
899
+ * added --emacs option
784
900
 
785
901
  2007-02-09 16:56 Kent Sibilev
786
902
 
787
- * : in remote mode the debugger shouldn't stop inside of rdebug
903
+ * in remote mode the debugger shouldn't stop inside of rdebug
788
904
  script
789
905
 
790
906
  2007-02-09 06:20 Kent Sibilev
791
907
 
792
- * : --
908
+ * --
793
909
 
794
910
  2007-02-09 01:00 Kent Sibilev
795
911
 
796
- * : fixed code reloading
912
+ * fixed code reloading
797
913
  made 'reload on' as a part of the 'set' command
798
914
  evaluate ~/.rdebugrc as an init script
799
915
 
800
916
  2007-02-07 02:42 Kent Sibilev
801
917
 
802
- * : should use ignored? method to check for the debugger's thread
918
+ * should use ignored? method to check for the debugger's thread
803
919
 
804
920
  2007-02-06 22:21 Kent Sibilev
805
921
 
806
- * :
922
+ *
807
923
 
808
924
  2007-02-05 22:48 Kent Sibilev
809
925
 
810
- * : --
926
+ * --
811
927
 
812
928
  2007-02-05 22:11 Kent Sibilev
813
929
 
814
- * : fixed emacs integration
930
+ * fixed emacs integration
815
931
 
816
932
  2007-02-05 20:16 Kent Sibilev
817
933
 
818
- * : fixed another issue where a bogus frame is being left in the
934
+ * fixed another issue where a bogus frame is being left in the
819
935
  stack
820
936
 
821
937
  2007-02-04 23:36 Kent Sibilev
822
938
 
823
- * : seg fault bugfixes
939
+ * seg fault bugfixes
824
940
  fixed suspend/resume
825
941
 
826
942
  2007-02-04 03:49 Kent Sibilev
827
943
 
828
- * : A better fix for the segmentation fault
944
+ * A better fix for the segmentation fault
829
945
 
830
946
  2007-02-03 20:24 Kent Sibilev
831
947
 
832
- * : fix seg fault by avoiding ruby's bug
948
+ * fix seg fault by avoiding ruby's bug
833
949
  fixed Context#resume
834
950
  when handling post-mortem all threads must be suspended
835
951
 
836
952
  2007-02-02 18:47 Kent Sibilev
837
953
 
838
- * : removed ambiguity with down command
954
+ * removed ambiguity with down command
839
955
 
840
956
  2007-02-01 23:48 Kent Sibilev
841
957
 
842
- * : typo
958
+ * typo
843
959
 
844
960
  2007-02-01 22:15 Kent Sibilev
845
961
 
846
- * : made eval command available from the control thread
962
+ * made eval command available from the control thread
847
963
 
848
964
  2007-02-01 07:22 Kent Sibilev
849
965
 
850
- * : added setting command
966
+ * added setting command
851
967
  added Context#suspended? method
852
968
  dispay suspended status in the thread list
853
969
  display frame starting from zero
854
970
 
855
971
  2007-01-31 21:13 Kent Sibilev
856
972
 
857
- * : ditto
973
+ * ditto
858
974
 
859
975
  2007-01-31 21:12 Kent Sibilev
860
976
 
861
- * : fixed help command
977
+ * fixed help command
862
978
 
863
979
  2007-01-31 19:39 Kent Sibilev
864
980
 
865
- * : fixed frame count
981
+ * fixed frame count
866
982
  added frame_self method to context
867
983
 
868
984
  2007-01-31 16:48 Kent Sibilev
869
985
 
870
- * : removed all references to frames array
986
+ * removed all references to frames array
871
987
  fixed post-mortem debugging
872
988
 
873
989
  2007-01-31 00:51 Kent Sibilev
874
990
 
875
- * : removed obsolete frames usage
991
+ * removed obsolete frames usage
876
992
 
877
993
  2007-01-31 00:41 Kent Sibilev
878
994
 
879
- * : refactored out frame class and preallocate stack
995
+ * refactored out frame class and preallocate stack
880
996
  made local variable available even when bindings are not
881
997
  collected.
882
998
 
883
999
  2007-01-28 20:25 Kent Sibilev
884
1000
 
885
- * : --
1001
+ * --
886
1002
 
887
1003
  2007-01-28 06:22 Kent Sibilev
888
1004
 
889
- * : - Control thread is always started by rdebug script.
1005
+ * - Control thread is always started by rdebug script.
890
1006
  - Ability to specify negative frame number to frame commands.
891
1007
  Patch from R. Bernstein.
892
1008
 
893
1009
  2007-01-28 04:52 Kent Sibilev
894
1010
 
895
- * : added top frame caching
1011
+ * added top frame caching
896
1012
  control thread is always started by rdebug script
897
1013
 
898
1014
  2007-01-27 01:43 Kent Sibilev
899
1015
 
900
- * : another performance optimization
1016
+ * another performance optimization
901
1017
 
902
1018
  2007-01-26 20:28 Kent Sibilev
903
1019
 
904
- * : fixed #7484
1020
+ * fixed #7484
905
1021
 
906
1022
  2007-01-26 17:59 Kent Sibilev
907
1023
 
908
- * : revisited file name comparing procedure
1024
+ * revisited file name comparing procedure
909
1025
 
910
1026
  2007-01-26 09:03 Kent Sibilev
911
1027
 
912
- * : performance improvements
1028
+ * performance improvements
913
1029
 
914
1030
  2007-01-26 03:12 Kent Sibilev
915
1031
 
916
- * : added option to exclude collecting of frame bindings
1032
+ * added option to exclude collecting of frame bindings
917
1033
 
918
1034
  2007-01-24 18:33 Kent Sibilev
919
1035
 
920
- * : disable tracing when in post-mortem
1036
+ * disable tracing when in post-mortem
921
1037
  added -x/--trace option to rdebug script
922
1038
 
923
1039
  2007-01-21 08:13 Kent Sibilev
924
1040
 
925
- * :
1041
+ *
926
1042
 
927
1043
  2007-01-21 03:34 Kent Sibilev
928
1044
 
929
- * : assign an id to the breakpoint
1045
+ * assign an id to the breakpoint
930
1046
 
931
1047
  2007-01-21 01:20 Kent Sibilev
932
1048
 
933
- * : added post_mortem_method wrap method
1049
+ * added post_mortem_method wrap method
934
1050
 
935
1051
  2006-12-21 20:16 Kent Sibilev
936
1052
 
937
- * : added 'restart' command
1053
+ * added 'restart' command
938
1054
 
939
1055
  2006-12-21 14:12 Kent Sibilev
940
1056
 
941
- * : made 'exit' an alias to 'quit'
1057
+ * made 'exit' an alias to 'quit'
942
1058
  fixed the interoperability problem with rspec
943
1059
 
944
1060
  2006-12-21 13:43 Kent Sibilev
945
1061
 
946
- * : fixed trace command in post-mortem mode
1062
+ * fixed trace command in post-mortem mode
947
1063
 
948
1064
  2006-12-21 01:59 Kent Sibilev
949
1065
 
950
- * : initialize only once
1066
+ * initialize only once
951
1067
 
952
1068
  2006-12-21 01:08 Kent Sibilev
953
1069
 
954
- * : fixes irb help command
1070
+ * fixes irb help command
955
1071
 
956
1072
  2006-12-20 21:19 Kent Sibilev
957
1073
 
958
- * : check that debugger has been started
1074
+ * check that debugger has been started
959
1075
 
960
1076
  2006-12-20 20:08 Kent Sibilev
961
1077
 
962
- * : added post-mortem option to rdebug
1078
+ * added post-mortem option to rdebug
963
1079
 
964
1080
  2006-12-20 19:38 Kent Sibilev
965
1081
 
966
- * : initial support for post-mortem debugging
1082
+ * initial support for post-mortem debugging
967
1083
 
968
1084
  2006-12-19 06:13 Kent Sibilev
969
1085
 
970
- * : removed 'run' alias
1086
+ * removed 'run' alias
971
1087
 
972
1088
  2006-12-18 08:34 Kent Sibilev
973
1089
 
974
- * : added irb command
1090
+ * added irb command
975
1091
  fixed source_for method
976
1092
 
977
1093
  2006-12-02 19:15 Kent Sibilev
978
1094
 
979
- * : added reload command
1095
+ * added reload command
980
1096
 
981
1097
  2006-12-02 18:32 Kent Sibilev
982
1098
 
983
- * : fixed #6518 and #6545
1099
+ * fixed #6518 and #6545
984
1100
 
985
1101
  2006-12-01 06:47 Kent Sibilev
986
1102
 
987
- * :
1103
+ *
988
1104
 
989
1105
  2006-11-21 23:29 Kent Sibilev
990
1106
 
991
- * : ensure that on/off is the last on the line
1107
+ * ensure that on/off is the last on the line
992
1108
 
993
1109
  2006-11-16 00:04 Kent Sibilev
994
1110
 
995
- * : fixed debug_method for assignment methods
1111
+ * fixed debug_method for assignment methods
996
1112
 
997
1113
  2006-11-16 00:01 Kent Sibilev
998
1114
 
999
- * : added the new branch for the stable version
1115
+ * added the new branch for the stable version
1000
1116
 
1001
1117
  2006-10-15 22:43 Kent Sibilev
1002
1118
 
1003
- * : branching a stable version
1119
+ * branching a stable version
1004
1120
 
1005
1121
  2006-10-15 22:26 Kent Sibilev
1006
1122
 
@@ -90,7 +90,7 @@ module Debugger
90
90
  end
91
91
 
92
92
  def source_reload
93
- LineCache::clear_file_cache(true)
93
+ LineCache::clear_file_cache
94
94
  end
95
95
 
96
96
  # Get line +line_number+ from file named +filename+. Return "\n"
@@ -218,8 +218,9 @@ end
218
218
 
219
219
  module Kernel
220
220
 
221
- # Enters the debugger in the current thread after _steps_ line events occur.
222
- # Before entering the debugger startup script is read.
221
+ # Enters the debugger in the current thread after _steps_ line
222
+ # events occur. Before entering the debugger, a user-defined
223
+ # startup script is may be read.
223
224
  #
224
225
  # Setting _steps_ to 0 will cause a break in the debugger subroutine
225
226
  # and not wait for a line event to occur. You will have to go "up 1"
@@ -227,10 +228,12 @@ module Kernel
227
228
  # debugger. Settings _steps_ to 0 could be useful you want to stop
228
229
  # right after the last statement in some scope, because the next
229
230
  # step will take you out of some scope.
230
-
231
- # If a block is given (and the debugger hasn't been started, we run the
232
- # block under the debugger. Alas, when a block is given, we can't support
233
- # running the startup script or support the steps option. FIXME.
231
+ #
232
+ # If block _block_ is given (and the debugger hasn't been started,
233
+ # we run the block under the debugger.
234
+ #
235
+ # FIXME: Alas, when a block is given, we can't support running the
236
+ # startup script or support the steps option.
234
237
  def debugger(steps = 1, &block)
235
238
  if block
236
239
  Debugger.start({}, &block)
File without changes
File without changes
File without changes
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ require 'test/unit'
3
+ class TestReloadBug < Test::Unit::TestCase
4
+ def test_reload_bug
5
+ top_srcdir = File.join(File.dirname(__FILE__), '..', '..')
6
+ assert_equal({}, Debugger::source_reload)
7
+ end
8
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-debug-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.3
4
+ version: 0.10.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kent Sibilev
@@ -9,11 +9,12 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-11-17 00:00:00 -05:00
12
+ date: 2010-10-27 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: linecache
17
+ type: :runtime
17
18
  version_requirement:
18
19
  version_requirements: !ruby/object:Gem::Requirement
19
20
  requirements:
@@ -21,7 +22,12 @@ dependencies:
21
22
  - !ruby/object:Gem::Version
22
23
  version: "0.3"
23
24
  version:
24
- description: ruby-debug is a fast implementation of the standard Ruby debugger debug.rb. It is implemented by utilizing a new Ruby C API hook. The core component provides support that front-ends can build on. It provides breakpoint handling, bindings for stack frames among other things.
25
+ description: |
26
+ ruby-debug is a fast implementation of the standard Ruby debugger debug.rb.
27
+ It is implemented by utilizing a new Ruby C API hook. The core component
28
+ provides support that front-ends can build on. It provides breakpoint
29
+ handling, bindings for stack frames among other things.
30
+
25
31
  email: ksibilev@yahoo.com
26
32
  executables: []
27
33
 
@@ -35,22 +41,26 @@ files:
35
41
  - CHANGES
36
42
  - LICENSE
37
43
  - README
44
+ - VERSION
38
45
  - Rakefile
39
46
  - ext/breakpoint.c
40
47
  - ext/extconf.rb
41
48
  - ext/ruby_debug.c
42
49
  - ext/ruby_debug.h
43
- - ext/win32/Makefile
44
- - ext/win32/ruby_debug.o
45
50
  - ext/win32/breakpoint.o
51
+ - ext/win32/ruby_debug.o
46
52
  - ext/win32/ruby_debug.so
47
- - lib/ruby-debug-base.rb
53
+ - ext/win32/Makefile
48
54
  - lib/ChangeLog
55
+ - lib/ruby-debug-base.rb
49
56
  - test/base/base.rb
50
57
  - test/base/binding.rb
51
58
  - test/base/catchpoint.rb
59
+ - test/base/reload_bug.rb
52
60
  has_rdoc: true
53
61
  homepage: http://rubyforge.org/projects/ruby-debug/
62
+ licenses: []
63
+
54
64
  post_install_message:
55
65
  rdoc_options: []
56
66
 
@@ -71,11 +81,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
81
  requirements: []
72
82
 
73
83
  rubyforge_project: ruby-debug
74
- rubygems_version: 1.0.1
84
+ rubygems_version: 1.3.5
75
85
  signing_key:
76
- specification_version: 2
86
+ specification_version: 3
77
87
  summary: Fast Ruby debugger - core component
78
88
  test_files:
79
89
  - test/base/base.rb
80
90
  - test/base/binding.rb
81
91
  - test/base/catchpoint.rb
92
+ - test/base/reload_bug.rb