写程序出bug是很难避免的的事,一个好用高效的debug工具会让你更快的排查解决掉bug。
调试时,在预定断点会自动停止,这时可以访问变量,如下面代码:
1 2 3 4 5 6 | From: /Users/xdite/Dropbox/projects/mentorhub/app/controllers/courses_controller.rb @ line 20 CoursesController#show: 20: def show 21: @course = Course.find(params[:id]) => 22: binding.pry 23: end |
1 2 3 4 | group :development do gem 'pry' gem 'pry-rails' end |
加入pry-rails
gem后,系统自带的byebug
gem建议去掉,功能类似。
直接在需要调试的地方添加binding.pry,当运行到这行代码时会自动停止,可以进行对程序运行中各个对象进行数据查看,通过对运行中的对象数据判断出 bug 的位置。传统 debug 只是根据报错提示进行操作相当于黑箱操作,难度系数很大。通过 pry-rails 将传统 debug 中的黑箱打开或部分打开,大大的降低了 debug 难度。