我安装了以下软件
有一段代码长达22,000行。当rdebug移动到这段代码时,它会正确执行,但不会显示周围正确的代码行或当前正在执行的代码行。
例如:
foo.a.b("a string")
是方法吗?以下是代码
的示例#around line 2000
@e
@j
@h
.
.
.
#around line 6000
def a
return obj_that_b_is_called_on
end
.
.
.
#around line 20000
def b(string)
puts "Hello World"
puts string
string = a
end
调试器正确调用a
并显示信息。但是,当调用b
时,调试器会查看类似于@e
和@j
所在代码的内容。 b
内的函数正确执行,打印正确的语句,我甚至可以评估变量string
。这是缓冲区还是缓存问题?或者这是我可以配置的设置问题吗?
答案 0 :(得分:1)
调试器"回溯"命令秀? 这是对的吗?
的价值是什么?
eval caller()。每个{| l |把l}
显示? (如果autoeval是" on",你不需要初始" eval")
这是对的吗?
如果caller()没有提供正确的信息,那么它就是Ruby 1.8.6中的一个问题。没有详细说明,Ruby中的报告行记录存在各种奇怪之处。 (实际上,我不记得哪些版本存在我知道的一些问题。)