Ruby调试器:进入在提示符下输入的表达式

Ruby调试器:进入在提示符下输入的表达式,ruby,debugging,Ruby,Debugging,有时我在调试一些代码,跨过一行,然后想:“嗯,我想我已经跨进了那一行。”。或者我输入一些表达式,然后进行计算(我总是启用“autoeval”)并思考:“为什么它会给出这个结果?我想进入我刚刚输入的表达式,看看它到底在做什么。” 据我所知,这在1.8.7中是不可能实现的ruby调试或使用1.9.3调试器。是否有其他Ruby调试器支持此功能?当然,您可以完成所有要求的操作。 在调试会话中,执行以下操作: (rdb:1)s # steps into method (rdb:1)l # list cur

有时我在调试一些代码,跨过一行,然后想:“嗯,我想我已经跨进了那一行。”。或者我输入一些表达式,然后进行计算(我总是启用“autoeval”)并思考:“为什么它会给出这个结果?我想进入我刚刚输入的表达式,看看它到底在做什么。”


据我所知,这在1.8.7中是不可能实现的<代码>ruby调试或使用1.9.3
调试器
。是否有其他Ruby调试器支持此功能?

当然,您可以完成所有要求的操作。
在调试会话中,执行以下操作:

(rdb:1)s # steps into method
(rdb:1)l # list current line
(rdb:1)obj.method # eval expression

尽管进入刚输入的表达式是不可能的-据我所知
肮脏的:


一个快速的

有一个名为ruby debug的重写,它允许通过“debug”命令进行嵌套调试。看


不幸的是,它需要一个修补过的MRI Ruby 1.9.3(或1.9.2),因为根本问题在MRI 1.9运行时系统中。请参阅以了解如何安装。

“虽然无法单步进入刚输入的表达式-据我所知”->但不幸的是,这正是我感兴趣的附加功能。
(rdb:1)def someobj.some_method_name
(rdb:2)* debugger
(rdb:3)* my.expression_i_want_to_step_in
(rdb:4)* end
(rdb:5)someobj.some_method_name
(rdb:1) # this should be the new session at my.expression_i_want_to_step_in - untested