[#7102] Ruby 1.3.4-990611 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.4-990611 is out, check out:

20 messages 1999/06/11

[#7223] Ruby 1.3.4-990625 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.4-990625 is out, check out:

14 messages 1999/06/25
[#7224] -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625) — Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp> 1999/06/25

早坂@会津大学です。

[ruby-dev:7154] [Patch] debug.rb raises NameError; undefined method `+' for nil

From: "NAKAMURA, Hiroshi" <nakahiro@...>
Date: 1999-06-21 11:04:19 UTC
List: ruby-dev #7154
なひです.

ruby本体は小松さんに任せて...^^;
debug.rbで@frame_posがnilの時にdownとすると,nil.+でコケます.
自分がどのframeに居るかいつも把握してれば不要なんでしょうけれど,
なひはどうも忘れっぽくて...debuggerから抜けられて泣きました.^^;

# [ruby-dev:6538]で言ってたのは,たぶんこれだと思います.

	/	/	/

ちょっと考えてみたこと.

  1 [1, 2, 3].each do |item|
  2   p item
  3 end

現在のdebug.rbを使って,毎回line: 2で止めるには,
breakpointを設定するしかないですよね.
single stepで止まってくれたら嬉しいなー,と思ったんですが,
debug.rbをいじるだけでは無理な感じがします.
trace_funcを,'line'じゃないeventで呼んでくれないかなー,なんて...

で,おそるおそるeval.cを覗いて...断念しました.^^;

	/	/	/

Index: ruby/lib/debug.rb
===================================================================
RCS file: /home/cvs/ruby/lib/debug.rb,v
retrieving revision 1.1.1.2.2.2
diff -u -r1.1.1.2.2.2 debug.rb
--- ruby/lib/debug.rb	1999/05/25 08:26:20	1.1.1.2.2.2
+++ ruby/lib/debug.rb	1999/06/21 10:00:03
@@ -130,6 +130,9 @@
 	else
 	  lev = 1
 	end
+	unless @frame_pos
+	  @frame_pos = @frames.size - 1
+	end
 	if lev >= @frames.size or @frame_pos and @frame_pos+lev >= @frames.size 
 	  STDOUT.print "at stack bottom\n"
 	  @frame_pos = nil

In This Thread

Prev Next