Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Gems
  3. byebug

byebug

BSD-2-ClauseRubyv13.0.0

A simple to use, feature-rich debugger for Ruby built as a C extension using the TracePoint and Debug Inspector APIs.

GitHubGitHub
3.4k stars328 forks0 contributors

What is byebug?

Byebug is a feature-rich debugger for Ruby that allows developers to pause program execution, inspect variables, and step through code line by line. It solves the problem of understanding runtime behavior in Ruby applications by providing traditional debugging features like stepping, breaking, and variable tracking.

Target Audience

Ruby developers who need to debug applications, particularly those working with Rails or other Ruby frameworks who require interactive debugging capabilities during development and testing.

Value Proposition

Developers choose Byebug because it's fast (built as a C extension), reliable (fully tested), and doesn't depend on internal Ruby core sources. It integrates seamlessly into Ruby workflows and offers a comprehensive set of debugging commands.

Overview

Debugging in Ruby

Use Cases

Best For

  • Debugging Rails applications during development
  • Stepping through complex Ruby scripts line by line
  • Inspecting variable states at specific breakpoints
  • Debugging test failures in Minitest or other testing frameworks
  • Remote debugging with Passenger integration
  • Learning Ruby execution flow through interactive debugging

Not Ideal For

  • Ruby projects using MRI versions older than 3.2.0
  • Developers who prioritize advanced REPL features for expression evaluation and exploration
  • Teams requiring graphical debugging interfaces or deep IDE integrations
  • Environments with strict dependency constraints where installing a C extension is problematic

Pros & Cons

Pros

Fast C Extension

Built as a C extension, Byebug offers high performance with minimal overhead during debugging sessions, as explicitly stated in the README.

Reliable and Tested

Supported by a full test suite, ensuring stability and fewer bugs, making it a dependable choice for critical debugging tasks.

Modern API Integration

Uses Ruby's TracePoint and Debug Inspector APIs, avoiding dependency on internal core sources and ensuring future compatibility.

Rich Command Set

Includes a comprehensive array of commands for stepping, breaking, tracking, and more, as detailed in the command table, providing fine-grained debugging control.

Cons

Basic REPL Functionality

The README admits that pry does a better job at evaluating expressions, making Byebug's REPL capabilities limited for developers who need rich interactive exploration.

Ruby Version Restriction

Only supports MRI Ruby 3.2.0 or higher, excluding projects on older versions or alternative implementations like JRuby, as specified in the requirements.

Incomplete Documentation

Proper documentation is not yet written, relying only on a markdown guide, which may be insufficient for advanced users or complex debugging scenarios.

Frequently Asked Questions

Quick Stats

Stars3,351
Forks328
Contributors0
Open Issues75
Last commit5 days ago
CreatedSince 2013

Tags

#tracing#repl#ruby-gem#testing#development-tools#debugger#c-extension#byebug#ruby#breakpoints

Built With

R
Ruby
C
C++

Included in

Ruby14.1kGems2.8k
Auto-fetched 1 day ago

Related Projects

Better ErrorsBetter Errors

Better error page for Rack apps

Stars6,871
Forks433
Last commit1 year ago
awesome_printawesome_print

Pretty print your Ruby objects with style -- in full color and with proper indentation

Stars4,083
Forks449
Last commit1 year ago
RailsPanelRailsPanel

Chrome extension for Rails development

Stars3,871
Forks187
Last commit12 days ago
letter_openerletter_opener

Preview mail in the browser instead of sending.

Stars3,842
Forks244
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub