ruby on rails调试技术

1、打印调试日志

      Rails.logger.info "调试内容"

      日志路径:\项目\log\debug_log.log


2、打印函数调用堆栈信息

      Rails.logger.info#{caller.join("\n")}"


3、Rails Model调试方法

      如果Rails调试问题发生在一个Model中,我们可以进入Rails控制台模拟一个irb对话,在其中进行跟踪。

~$ rails console

Loading development environment (Rails 3.2.22)

irb(main):001:0> user = Users.find(:first)

irb(main):002:0> user.name

=> "myname"

irb(main):003:0> 


4、使用pry-rails调试工具

     1)在项目Gemfile文件中添加如下:

group:development do
 
gem 'pry-rails'
 
gem 'pry-remote'
 
gem 'pry-nav'
end


    2)在需要调试的代码中添加binding.pry或者binding.remote_pry(采用passenger中间件转发使用)

def say
  content = "hello,world"

  puts content

  binding.remote_pry #这里设置代码断点
end


   3)在项目的shell终端运行pry-remote

       ~$ pry-remote

def say
     content = "hello,world"

     puts content

=> binding.remote_pry #这里设置代码断点
end

箭头位置是当前代码断点,可以通过上下文查询当前变量的值。

以下是常用的调试命令:

step:         单步执行下一行代码或方法

next:       执行下一行代码(在相同的堆栈下)

continue:继续代码,

需要了解更多信息,可以输入help

pry(#)> help


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值