Utilizando rack-debug para debugging com Passenger
Desenvolver aplicações Rails utilizando o Phusion Passenger (principalmente no Mac OS X com o Passenger preference pane) é muito prático. Porém, uma coisa que logo senti falta foi a possibilidade de utilizar a gem ruby-debug quando precisava de breakpoints para debuggar o código.
Uma maneira de conseguir isso é através da gem/plugin rack-debug. Para utilizá-la, segui os passos abaixo.
1. Instalação
$ script/plugin install git://github.com/ddollar/rack-debug.git # config/environments/development.rb config.middleware.use "Rack::Debug" |
2. Chamar o debugger onde necessário:
def create @status = current_user.statuses.create(params[:status]) debugger if @status.valid? ... |
3. Conectar-se ao debugger
# No diretório da aplicação, chamar a task rake
$ rake debug
Connected. |
4. Ao executar a linha onde o debugger foi chamado, a aplicação para e você tem acesso ao console do debugger
(rdb:1) p @status #<status id: 231, text: "Testing rack-debug", user_id: 4, ...> |
Pronto. Happy debugging! 🙂
Update: ao chamar a task rake, pode ocorrer um erro com a mensagem “Server is not running or Passenger has spooled down”. Neste caso, reinicie o Apache e tudo deve funcionar normalmente.
2 Comentários