ruby-debug-base 0.10.3 → 0.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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