Rails 在 proc 中使用 byebug?

Rails using byebug inside a proc?

我正在尝试在稍后使用线程调用的过程中使用 byebug/debugger,但它不起作用。那么如何在 proc 中调试代码?

您必须确保要在其中添加断点的线程最终会调用 join

例如:

myproc = Proc.new do
  Thread.new do
    require 'pry'; binding.pry
  end.join
end

myproc.call

在断点处停止。

鉴于

myproc = Proc.new do
  Thread.new do
    require 'pry'; binding.pry
  end
end

myproc.call

不会