跟踪Ruby中的代码?

时间:2010-09-14 06:51:17

标签: ruby open-source debugging tracing

是否有一种运行脚本并查看所有步骤的好方法:

  • 执行了哪些代码
  • 代码所在的文件
  • 返回什么
  • 错误消息

这是了解开源项目如何运作的好方法。

Ruby没有这样的解决方案吗?

例如

require "httparty"
HTTParty.get "http://www.google.se"

然后它将运行代码并向我显示它正在执行的所有代码,文件和行,返回的对象,错误消息等。

4 个答案:

答案 0 :(得分:5)

Tracer可能会为您http://en.wikibooks.org/wiki/Ruby_Programming/Standard_Library/Tracer

执行此操作

如果你想看到引发的异常,那么运行ruby -d(或者使用ruby-debug和“Catch”异常)

答案 1 :(得分:2)

Kernel#set_trace_func主要涵盖了您的需求:

  

proc最多需要六个参数:a   事件名称,文件名,行号,   对象ID,绑定和名称   一堂课。每当调用proc时   事件发生。

我不确定,“错误消息”是什么意思。如果您引用异常,如果您未在代码中处理它们,则代码将以打印的异常终止。

答案 2 :(得分:0)

使用调试器? ruby附带一个内置的,或者使用ruby-debug

答案 3 :(得分:0)

您可以引发异常,捕获它,然后使用Exception对象的backtrace方法。