Install the VS Code Ruby extension and the debug gem via gem install debug or add it to your Gemfile. 2. Create a launch.json file in VS Code under the Run and Debug view, then configure it for your use case—use "program": "${workspaceFolder}/app.rb" for scripts or set "program": "${workspaceFolder}/bin/rails" with args: ["server"] for Rails. 3. Set breakpoints by clicking the left margin in the editor. 4. Select the debug configuration and start debugging with F5, allowing inspection of variables, code stepping, and expression evaluation in the Debug Console. 5. Use binding.break in code for temporary breakpoints and ensure the correct Ruby version is active in VS Code when using rbenv, rvm, or chruby, with all relevant output checked in the integrated terminal or Debug Console, making debugging reliable for Ruby scripts, Rails applications, and RSpec tests.
Debugging a Ruby application in VS Code is straightforward once you set up the right tools. Here’s how to do it effectively.

Install the Required Extensions and Gems
First, make sure you have the necessary components:
- VS Code Ruby extension: Install the official Ruby extension by Peng Lv. It provides basic syntax support and integrates with debugging tools.
-
Debug gem: The modern way to debug Ruby in VS Code uses the
debug
gem (formerlydebase
withruby-debug-ide
is outdated).
Run this command to install the debug gem:

gem install debug
Or, if you're using Bundler, add it to your Gemfile
:
gem 'debug', require: 'debug/proxy'
Then run:

bundle install
Configure launch.json for Debugging
In VS Code, go to the Run and Debug view (Ctrl Shift D), then click "create a launch.json file" if you don’t have one.
Choose Ruby as the environment, and VS Code will generate a default launch.json
. Modify it depending on your use case.
Basic Configuration for a Ruby Script
If you're debugging a simple Ruby file (e.g., app.rb
):
{ "version": "0.2.0", "configurations": [ { "name": "Debug Ruby File", "type": "Ruby", "request": "launch", "program": "${workspaceFolder}/app.rb" } ] }
Debugging a Rails Application
For Rails, you’ll want to start the server in debug mode:
{ "version": "0.2.0", "configurations": [ { "name": "Debug Rails Server", "type": "Ruby", "request": "launch", "program": "${workspaceFolder}/bin/rails", "args": [ "server" ] }, { "name": "Debug RSpec", "type": "Ruby", "request": "launch", "program": "${workspaceFolder}/bin/rspec", "args": [ "--require", "debug", "--debug", "${relativeFile}" ], "console": "integratedTerminal" } ] }
Note: Using
--debug
and--require debug
ensures the debug gem is loaded properly.
Set Breakpoints and Start Debugging
- Open the Ruby file you want to debug.
- Click the left margin (next to the line numbers) to set a breakpoint (a red dot will appear).
- Go to the Run and Debug sidebar, select the configuration (e.g., "Debug Ruby File"), and click Start Debugging (F5).
- The program will pause at your breakpoint. You can now:
- Inspect variables in the sidebar
- Step over, into, or out of code (using toolbar or F10/F11)
- Use the Debug Console to evaluate expressions
Tips for Smoother Debugging
-
Use
binding.break
for temporary breakpoints in code: You can insertbinding.break
directly in your Ruby code as a one-off breakpoint. When the debugger runs, it will pause there automatically. -
Ensure correct Ruby environment: If you're using
rbenv
,rvm
, orchruby
, make sure VS Code is using the right Ruby version. You can set the Ruby path in settings if needed. - Check output in the Debug Console or Terminal: Some debug output may appear in the integrated terminal, especially for Rails or RSpec.
Basically, it comes down to installing the debug
gem, setting up launch.json
, and using breakpoints. Once configured, debugging Ruby in VS Code works reliably for scripts, Rails, and tests.
The above is the detailed content of How to debug a Ruby application in vscode?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

The steps to build a Laravel environment on different operating systems are as follows: 1.Windows: Use XAMPP to install PHP and Composer, configure environment variables, and install Laravel. 2.Mac: Use Homebrew to install PHP and Composer and install Laravel. 3.Linux: Use Ubuntu to update the system, install PHP and Composer, and install Laravel. The specific commands and paths of each system are different, but the core steps are consistent to ensure the smooth construction of the Laravel development environment.

Configuring the Ruby development environment in VSCode requires the following steps: 1. Install Ruby: Download and install from the official website or using RubyInstaller. 2. Install the plug-in: Install CodeRunner and Ruby plug-ins in VSCode. 3. Set up the debugging environment: Install the DebuggerforRuby plug-in and create a launch.json file in the .vscode folder for configuration. This way, you can write, run, and debug Ruby code efficiently in VSCode.

In VSCode, you can use Git for code version fallback. 1. Use gitreset--hardHEAD~1 to fall back to the previous version. 2. Use gitreset--hard to fall back to a specific commit. 3. Use gitrevert to safely fall back without changing history.

The steps to manually install the plug-in package in VSCode are: 1. Download the .vsix file of the plug-in; 2. Open VSCode and press Ctrl Shift P (Windows/Linux) or Cmd Shift P (Mac) to call up the command panel; 3. Enter and select Extensions:InstallfromVSIX..., then select .vsix file and install. Manually installing plug-ins provides a flexible way to install, especially when the network is restricted or the plug-in market is unavailable, but attention needs to be paid to file security and possible dependencies.

Configuring VSCode to synchronize code with GitHub can improve development efficiency and team collaboration. First, install the "GitHubPullRequestsandIssues" and "GitLens" plugins; second, configure the GitHub account; then clone or create a repository; finally, submit and push the code to GitHub.

Best practices for writing JavaScript code in VSCode include: 1) Install Prettier, ESLint, and JavaScript (ES6) codesnippets extensions, 2) Configure launch.json files for debugging, and 3) Use modern JavaScript features and optimization loops to improve performance. With these settings and tricks, you can develop JavaScript code more efficiently in VSCode.

VSCode solves the problems of multilingual project coding and garbled code including: 1. Ensure that the file is saved with correct encoding and use the "redetection encoding" function; 2. Set the file encoding to UTF-8 and automatically detect the encoding; 3. Control whether to add BOM; 4. Use the "EncodingConverter" plug-in to convert encoding; 5. Use the multiple workspace functions to set encoding for different sub-projects; 6. Optimize performance and ignore unnecessary file monitoring. Through these steps, the coding problem of multilingual projects can be effectively dealt with.

I have a lot of experience in participating in VSCode offline technology exchange activities, and my main gains include sharing of plug-in development, practical demonstrations and communication with other developers. 1. Sharing of plug-in development: I learned how to use VSCode's plug-in API to improve development efficiency, such as automatic formatting and static analysis plug-ins. 2. Practical demonstration: I learned how to use VSCode for remote development and realized its flexibility and scalability. 3. Communicate with developers: I have obtained skills to optimize VSCode startup speed, such as reducing the number of plug-ins loaded at startup and managing the plug-in loading order. In short, this event has benefited me a lot and I highly recommend those who are interested in VSCode to participate.
