deivid-rodriguez/byebug

Debugging in Ruby

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Type:Library / SDKCategory(s):Debugging & ProfilingDeveloper Tools
Added to GitGenius on September 20th, 2026
Created on March 18th, 2013
Open Issues & Pull Requests: 101 (+0)
GitHub issues: Enabled
Number of forks: 330
Total Stargazers: 3,350 (+0)
Total Subscribers: 38 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,216 days
Stale 30+ days: 7
Stale 90+ days: 7

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (1)
  • help wanted (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Byebug is a debugger for Ruby that provides stepping, breakpoints, evaluation, and variable tracking through a command-line interface.

The tool solves the problem of understanding program execution state by pausing and inspecting Ruby code as it runs. It uses the TracePoint API for execution control and the Debug Inspector API for call stack navigation, avoiding dependence on internal core sources. Implemented as a C extension, it prioritizes performance and reliability through comprehensive test coverage.

Byebug suits developers who need traditional debugging capabilities without leaving the command line. It can be invoked either by inserting a byebug call directly in code or by running a script from the command line without modification. The tool offers stepping through code line by line, setting breakpoints at events or instructions, basic REPL functionality for expression evaluation, and variable tracking. The README acknowledges that pry provides superior REPL capabilities if that is a primary need. The debugger requires MRI 3.3.0 or higher.

Development activity shows consistent cross-platform testing with automated workflows for both Ubuntu and Windows environments. The project maintains semantic versioning with backwards compatibility targeted at pry-byebug and other plugins depending on the byebug API. A comprehensive markdown guide is available for getting started, though the README notes that full documentation remains a future goal.