0

我安装了以下软件

  • 红宝石
    • 1.8.6
  • 分栏
    • 0.3.6
  • 行缓存
    • 0.43
  • 红宝石调试
    • 0.10.4
  • 红宝石调试基地
    • 0.10.4

有一段代码将近 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被调用时,调试器会查看类似于代码 where@e@jare 的内容。里面的函数b正确执行,打印正确的语句,我什至可以评估变量string。这是缓冲区还是缓存问题?或者这是我可以配置的设置问题?

4

1 回答 1

1

调试器“回溯”命令显示什么?这是正确的吗?

价值是什么

eval caller().each {|l| 放 l}

显示?(如果 autoeval 为“on”,则不需要初始的“eval”)

那是对的吗?

如果 caller() 没有给出正确的信息,这在 Ruby 1.8.6 中是个问题。在不详细说明的情况下,Ruby 中的报告线记录存在各种奇怪之处。(实际上,我不记得哪些版本有一些我知道的问题。)

于 2012-02-16T00:49:46.870 回答