Ruby on rails 遍历函数时自动打印每个函数名
当我传递函数时,Ruby/Rails是否会自动打印函数名以方便调试?正如我发现的,在每个函数之前添加put很麻烦。请指教,谢谢 例如:Ruby on rails 遍历函数时自动打印每个函数名,ruby-on-rails,ruby,Ruby On Rails,Ruby,当我传递函数时,Ruby/Rails是否会自动打印函数名以方便调试?正如我发现的,在每个函数之前添加put很麻烦。请指教,谢谢 例如: def update_original_calendar puts '-> update_original_calendar' end def update_destination_calendar puts '-> update_destination_calendar' update_original_calendar end 示
def update_original_calendar
puts '-> update_original_calendar'
end
def update_destination_calendar
puts '-> update_destination_calendar'
update_original_calendar
end
示例结果:
-> update_destination_calendar
-> update_original_calendar
你可以用这个方法。将以下代码放在初始化逻辑的某个地方。只要确保当应用程序逻辑到达要跟踪的方法时,该代码段已经执行
classes_to_trace = %w(YOUR_CLASSNAME1 YOUR_CLASSNAME2)
set_trace_func proc {|event, file, line, id, binding, classname|
if event == 'call' and classes_to_trace.include?(classname.to_s)
puts "event = #{event}, file = #{file}, line = #{line}, id = #{id}, classname = #{classname}"
end
}
如果您使用的是Ruby 2.x:
我还没有测试它,但它应该可以工作这不是调试器的作用吗?
trace = TracePoint.new(:call) do |tp|
p [tp.lineno, tp.defined_class, tp.method_id, tp.event]
end
trace.enable
# Your code here