Rubyのデバッガ「Ruby Jard」についてご紹介

投稿者: | 2020年12月18日

この記事は GMOアドマーケティング Advent Calendar 2020 18日目の記事です。

こんにちは。GMOアドマーケティングのH.Tと申します。
RubyJardについてご紹介したいと思います。

Ruby Jardとは
RubyJardbyebugをベースとして開発されたCUIで動作するRubyデバッガです。
RubyJard公式サイトによると2020年の7月から開発が始まったとあり現在(2020年11月)最新バージョンがV0.3.1になっています。
開発が始まってまだ一年も経ってないようですが今後様々な機能の実装が予定されておりロードマップを確認できます。

普段の業務の開発環境ではbetter_errorsbinding_of_callerで画面上でデバッグができるようになっているのですがbyebugRubyJardのようにコンソール上で動くデバッガは使ったことがなかったので今回勉強を兼ねて試してみました。

早速使い方をご紹介します。

インストール

Gemfileからインストールする方法です。

テスト環境にも入れたい場合はtestも追加します。

実行

プログラムを止めたい場所に「jard」というメソッドを埋め込んでプログラムを実行するとコンソールでデバッグ画面が開きます。

※ソースコードはサンプルです。試す場合はご自身の環境でお願いいたします。

画面の見方

デフォルトではsource画面、backtrace画面、variable画面、thread画面の4つのセクションに分かれており、下部にREPLコンソールが現れます。

簡単ではありますがコマンドを紹介いたします。

フローコマンド(デバッグ用コマンド)

制御コマンド(画面表示の制御)

使ってみた感想

公式サイトにも載っていたのですが競合しているgemがあるようでインストールするのに結構苦労したので現バージョンでは既存環境に組み込むのはちょっとまだ早いかなと思いました。
また、こちらも公式サイトに書いていたのですがv0.3の時点ではbyebugと機能はそれほど変わらないみたいです。

とはいえ、ものの数ヶ月でここまでできてCUI環境で開発する人にとっては今後の進化が楽しみなツールではないでしょうか。

以上簡単ですがRubyJardのご紹介でした。

明日は、@fiemonさんによる「広告掲載記事を解析してみた」です。
引き続き、GMOアドマーケティング Advent Calendar 2020 をお楽しみください!
■エンジニア採用ページ ~福利厚生や各種制度のご案内はこちら~
https://www.gmo-ap.jp/engineer/
■noteページ ~ブログや採用、イベント情報を公開中!~
https://note.gmo-ap.jp/