Do you know Ruby’s official debugger ruby/debug provides out-of-box integration with VSCode? If you haven’t tried it yet or having difficulty making it work, I hope this short post will help you set it up.
Basic Setup
- Install the VSCode rdbg extension in VSCode
- Create the
launch.jsonfile- Click
Run and Debugbutton on the left side - Click
create a launch.json file- this is quite small and underTo customize Run and Debug - Save the created
launch.json
- Click
- Put
gem "debug", require: falsein yourGemfileand runbundle install
Debug Simple Ruby Script
If you want to debug a simple Ruby script, you can follow these steps.
Debug Rails/Web Applications
If you want to debug a Rails/web application, do these instead:
- Open the files in VSCode and add some breakpoints.
- Start your program with the
rdbgexecutable -bundle exec rdbg --open -n -c -- bundle exec rails s--openor-Omeans starting the debugger in server mode-nmeans don’t stop at the beginning of the program, which is usually somewhere at rubygems, not helpful-cmeans you’ll be running a Ruby-based command
- Go back to VSCode’s
Run and Debugpanel, you should see a grean play button - Click the dropdown besides the button and select
Attach with rdbg - Click the play button
- It should now connect the VSCode to the debugger
- If it stops at somewhere in your web server (like puma), please upgrade to the latest version (v1.6.0+)
- Send some requests and it should stop at your breakpoints
Video

I also have built this repl.it to let you try out ruby/debug’s console commands in your browser (it’ll only take you 5 minutes).
If you want to see more articles/tips about the powerful features ruby/debug has, you can follow me on Twitter 🙂