Ruby调试工具概览

来源:互联网 时间:1970-01-01


调试Ruby代码最简单的方式就是使用puts或p方法。当有很多变量需要查看时,到处添加puts或p方法就可能变的不那么实际。幸好,Ruby社区提供了许多强大的调试工具。

Ruby 1.8+时代

调试Ruby代码使用 ruby-debug。调试Rails代码则是 pry-nav。不过在Ruby 1.9出来后ruby-debug就有问题了,于是就有了 ruby-debug19,一个针对Ruby 1.9的ruby-debug移植版本。

Ruby 1.9.2+时代

等到Ruby 1.9.2发布,ruby-debug彻底歇菜,然后 debugger就出现了。pry-nav也不好使了,还好有 pry-debugger。

Ruby 2+时代

新的Ruby调试工具 byebug来了。虽然byebug也能调试Rails应用,但它不提供语法高亮,所以使用 pry-byebug是个更好的选择。

Ruby 1.8+ Ruby 1.9 Ruby 1.9.2+ Ruby 2+ Ruby ruby-debug ruby-debug19 debugger byebug Rails pry-nav pry-nav pry-debugger pry-byebug 其它

Pry其实不是纯粹的调试工具,它只是IRB的替代品,所以缺乏必要的调试指令。pry-nav、pry-debugger和pry-byebug做的只是分别把ruby-debug、debugger和byebug中的step、next、continue等指令添加到Pry中。

pry-nav = Pry + ruby-debug pry-debugger = Pry + debugger pry-byebug = Pry + byebug

如果要调试view怎么办?可以使用 Web Console。在view里面加上<%= console %>,当view出现异常时,就会在异常界面下方,出现一个网页版的IRB,方便调试。Web Console默认只接受localhost的请求,假如需要让别的IP也能访问的话,可以这样做:

class Application < Rails::Application config.web_console.whitelisted_ips = '192.168.0.100'end



相关阅读:
Top