CONTRIBUTING ↑

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Bug Reports ↑

Development dependencies ↑

Running the test suite ↑

Code style ↑

Runnning clang-format on macOS ↑

At the moment byebug uses older clang-format version to enforce C codestyle than can be found in Homebrew. If you are planning to change some C source here it is recommended to use direnv to hook that older version into your shell:

With that your $PATH will be updated to use older clang-format every time you cd into byebug source code folder. It will reverted back when you cd out of it as well.

Byebug as a C-extension ↑

Byebug is a gem developed as a C-extension. The debugger internal's functionality is implemented in C (the interaction with the TracePoint API). The rest of the gem is implemented in Ruby. Normally you won't need to touch the C-extension, but it will obviously depended on the bug you're trying to fix or the feature you are willing to add. You can learn more about C-extensions here or here.