最好用的 debug 神器

Published on:

刚开始学习 rails 的时候,常常遇到报错,常常遇到像酱紫的画面:

奇怪的是,每次报错下面都会出现一个黑框,每次我想都没想,就顺手 x 掉,居然从来也没想过为什么会出现这个东西。

直到有一天,留意到 YY 老师的一篇 logdown 中提到利用这个黑框来 debug,当时相当震惊,居然有一个神器常常出现在我面前,但我却根本没有任何察觉,我依然清楚的记得那时的感受,一小半的惊喜外加一大半的懊恼。但。。。

也就那样了,我根本没有仔细去研究这个神器,我只知道这个东西可以拿来这样用,其他的我一概不知,我甚至都没有 google。

直到前一段时间,我跟 caven 一起在 slack 上值班,帮学员 debug 的时候,我提到这种 debug 的方法,caven当即私信问我。。。

那一刻,我突然明白我只是会用而已,具体的我却说不出个所以然来,简单的解释回复之后,我立刻开始 google,一下子就找打了很多的资料,其中 guides 和 github 给出了详细的说明。

原来,这是一个 gem,叫 web-console,不仅可以在报错页面显示这个黑框,只需要在任何页面加上<% console %>,就可以在任何页面显示,以帮助我们debug,其他详情可以点击文后链接。

除了这个工具以外,guides 给出了多种 debug 的方法,包括 三个 helper:debug、to_yaml 和 inspect,以及 byebug gem等,对我来说,我最喜欢 web-console,因为可以直接在出错的页面调用,直观方便,除错效率高,至于buebug,我认为更适合在自动化测试的时候使用。

注意:
web-console这个 gem 默认装在 development 环境下,用于测试报错,不要把它装在 production,否则任何用户都可以调用这个 console 。

BTW,better_errors这个 gem 也是一个不错的 debug plugin,错误页面似乎更加好看了。

For more info, please refer to :
GitHub - rails/web-console: Rails Console on the Browser.
http://guides.rubyonrails.org/debugging_rails_applications.html

Comments

comments powered by Disqus