Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Rack::Debug is middleware that provides a simple interface to ruby-debug. Helps debug apps running in Passenger.

branch: master
README.rdoc

NOTE: If you're using Ruby 1.8.x please use the 1.x series of rack-debug

Install

$ gem install rack-debug

Rails

# config/environments/development.rb
config.gem 'rack-debug'
config.middleware.use 'Rack::Debug'

# RAILS_ROOT/Rakefile
require 'rack-debug/tasks'

Middleware

# add a use line to your builder
require 'rack/debug'
Rack::Builder.new do
  use Rack::Debug
  run MyApp.new
end

# can optionally specify where to put the sockets
use Rack::Debug, :socket_path => '/tmp/rack-debug'

# Rakefile
require 'rack-debug/tasks'

Add breakpoints to your code

@user = User.find(params[:id])
debugger
render :show

Debugging:

# run the rake task,
$ rake debug
Connected.

# refresh a page in your browser, your app will break at debugger statements
(rdb:1) p @user
#<User id: 1, name: "David Dollar", email: "ddollar@gmail.com", created_at: "...", updated_at: "...">

# can specify the socket path
SOCKET_PATH=/tmp/rack-debug rake debug

Meta:

Author/Maintainer: David Dollar

Patches contributed by:
  Bart Teeuwisse

Thanks to:

Rack::Bug for a good example of Rack middleware in Rails
Ben Scofield for making me want to build some Rack middleware
Something went wrong with that request. Please try again.