rails 调试工具pry 换掉debugger 和 rails c

用过pry,就会觉得之前使用的debugger的使用方法如此的复杂和烦恼重起rails s 的苦恼,以及为irb的增强功能而花费时间,

默认pry配置已经够用了,以致rails console也可以歇歇了。

安装:

在Gemfile中添加

gem 'pry', :group => :development

然后执行

bundle install

即可。

用法:

用pry代替irb方法,直接运行:

进入rails c 后 直接运行命令 pry 或者直接运行下面的命令行

用pry代替rails console方法,运行:

pry -r ./config/environment.rb

调试rails方法:

直接在要调试的地方添加”binding.pry”,”rails server”当运行到这行代码时会自动调出一个pry终端,可以在这里进行交互。退出调试用”exit-all”。如:

#/app/controllers/articles_controller.rb
def index
  @articles = Article.all
  binding.pry
end

常用命令:

  • cd: 这可不是切换目录的,而是切换类。如”cd Article”会进入Article类中,”Article.all”可直接缩写为”all”
  • nesting: cd切来切去如果迷了路,用它可以看当前在哪个类下面。我倒觉得如果名字改为”pwd”会更好。
  • ls: 查看一些信息,ls -h查看帮助,ls -m查看实例方法,ls -M查看类方法,ls -p查看private方法。
  • show-doc Array#in_groups_of:查看文档。
  • show-method -l Array#in_groups_of:查看方法的源代码,-l显示行号。
  • edit-method Array#in_groups_of:调出nano来编辑代码,如果是能调出vim就好啦。(后来发现其实很简单,见后面。)
  • help:显示帮助

调试Rails:

pry默认没有调试中经常用到的下一步,上一步等命令,要安装

gem "pry-nav"

然后就可以使用step, next, continue来跳来跳去了。

edit和edit-method能自动调用vim:

默认调出nano编辑源代码是因为系统环境变量中没有$EDITOR的缘故,有两种方法改为vim。

1、添加环境变量$EDITOR=”vim”

2、新建~/.pryrc配置文件,添加

Pry.config.editor = "vim"

更多参考:

http://railscasts.com/episodes/280-pry-with-rails?view=asciicast

https://github.com/pry/pry

http://tyok.org/prying_ruby/

http://blog.tyraeltong.com/blog/2011/10/14/introducing-pry/

rails默认的调度工具是ruby-debug19,启动时还要加上”–debug”参数,或许你觉得用起来也还可以。但如果你用过pry,你会发现原来可以还这么方便,ruby-debug19是那么的简陋。

以前还整过一堆插件来增强irb的功能,现在有了pry,默认配置就够用了,还有rails console也可以歇歇了。

安装

在Gemfile中添加

gem 'pry', :group => :development

然后执行

bundle install

即可。

它可以这样用

用pry代替irb方法,直接运行:

pry

用pry代替rails console方法,运行:

pry -r ./config/environment.rb

调试rails方法:

直接在要调试的地方添加”binding.pry”,”rails server”当运行到这行代码时会自动调出一个pry终端,可以在这里进行交互。退出调试用”exit-all”。如:

#/app/controllers/articles_controller.rb
def index
  @articles = Article.all
  binding.pry
end

常用命令

  • cd: 这可不是切换目录的,而是切换类。如”cd Article”会进入Article类中,”Article.all”可直接缩写为”all”
  • nesting: cd切来切去如果迷了路,用它可以看当前在哪个类下面。我倒觉得如果名字改为”pwd”会更好。
  • ls: 查看一些信息,ls -h查看帮助,ls -m查看实例方法,ls -M查看类方法,ls -p查看private方法。
  • show-doc Array#in_groups_of:查看文档。
  • show-method -l Array#in_groups_of:查看方法的源代码,-l显示行号。
  • edit-method Array#in_groups_of:调出nano来编辑代码,如果是能调出vim就好啦。(后来发现其实很简单,见后面。)
  • help:显示帮助

调试Rails

pry默认没有调试中经常用到的下一步,上一步等命令,要安装

gem "pry-nav"

然后就可以使用step, next, continue来跳来跳去了。

edit和edit-method能自动调用vim

默认调出nano编辑源代码是因为系统环境变量中没有$EDITOR的缘故,有两种方法改为vim。

1、添加环境变量$EDITOR=”vim”

2、新建~/.pryrc配置文件,添加

Pry.config.editor = "vim"

更多参考:

http://railscasts.com/episodes/280-pry-with-rails?view=asciicast

https://github.com/pry/pry

http://tyok.org/prying_ruby/

http://blog.tyraeltong.com/blog/2011/10/14/introducing-pry/

rails默认的调度工具是ruby-debug19,启动时还要加上”–debug”参数,或许你觉得用起来也还可以。但如果你用过pry,你会发现原来可以还这么方便,ruby-debug19是那么的简陋。

以前还整过一堆插件来增强irb的功能,现在有了pry,默认配置就够用了,还有rails console也可以歇歇了。

安装

在Gemfile中添加

gem 'pry', :group => :development

然后执行

bundle install

即可。

它可以这样用

用pry代替irb方法,直接运行:

pry

用pry代替rails console方法,运行:

pry -r ./config/environment.rb

调试rails方法:

直接在要调试的地方添加”binding.pry”,”rails server”当运行到这行代码时会自动调出一个pry终端,可以在这里进行交互。退出调试用”exit-all”。如:

#/app/controllers/articles_controller.rb
def index
  @articles = Article.all
  binding.pry
end

常用命令

  • cd: 这可不是切换目录的,而是切换类。如”cd Article”会进入Article类中,”Article.all”可直接缩写为”all”
  • nesting: cd切来切去如果迷了路,用它可以看当前在哪个类下面。我倒觉得如果名字改为”pwd”会更好。
  • ls: 查看一些信息,ls -h查看帮助,ls -m查看实例方法,ls -M查看类方法,ls -p查看private方法。
  • show-doc Array#in_groups_of:查看文档。
  • show-method -l Array#in_groups_of:查看方法的源代码,-l显示行号。
  • edit-method Array#in_groups_of:调出nano来编辑代码,如果是能调出vim就好啦。(后来发现其实很简单,见后面。)
  • help:显示帮助

调试Rails

pry默认没有调试中经常用到的下一步,上一步等命令,要安装

gem "pry-nav"

然后就可以使用step, next, continue来跳来跳去了。

edit和edit-method能自动调用vim

默认调出nano编辑源代码是因为系统环境变量中没有$EDITOR的缘故,有两种方法改为vim。

1、添加环境变量$EDITOR=”vim”(不知如何改环境变量,请参考了http://my.oschina.net/qinlinwang/blog/30471)

2、新建~/.pryrc配置文件,添加

Pry.config.editor = "vim"

感谢

http://railscasts.com/episodes/280-pry-with-rails?view=asciicast

https://github.com/pry/pry

http://tyok.org/prying_ruby/

http://blog.tyraeltong.com/blog/2011/10/14/introducing-pry/

http://rubyer.me/blog/1585/作者的分享