6

假设我在调试时停在原地:

def get_data
    byebug
 => @cache ||= calculate_data
end

并且@cache有值,所以 onstep函数calculate_data不会被执行。但我需要检查calculate_data在这个确切的运行时间点内部发生了什么。

我可以calculate_data在控制台输出中执行并查看其结果,但是我可以从调试控制台同时执行函数step into吗?(使用 byebug 或其他一些调试工具)。

目标 - 是在任意时间检查calculate_data逻辑,特别是在填充时get_data调用。@cache

4

1 回答 1

3

使用pry-moves您可以从当前上下文执行任意函数的单独调试:

def get_data
    binding.pry
 => @cache ||= calculate_data
end

键入debug calculate_data以运行 calculate_data 并在其中的第一行停止。

于 2018-10-16T14:04:32.200 回答