2

我正在尝试了解一个中型库,并且我想运行一个测试脚本,以便我可以看到正在处理的命令。

可能吗?

谢谢!

4

1 回答 1

4

您可以使用Kernel#set_trace_func来跟踪所有call事件:

class Foo
  def bar
  end
end

set_trace_func proc { |event, file, line, id, binding, classname|
  if event == "call"
    printf "%8s %s:%-2d %10s %8s\n", event, file, line, id, classname
  end
}

Foo.new.bar

# =>    call foo.rb:2         bar      Foo
于 2012-10-20T21:18:12.353 回答