1
/
5

RubyKaigi 2022 参加記 #4 - Tools for Providing rich user experience in debugger(Day 1)

Photo by C M on Unsplash

こんにちは!Wantedly でエンジニアをしている新谷です。
RubyKaigi に参加すると自分の英語力のなさに痛感します。早くほんやくコンニャクできてほしい...

今回は、日本最大の Ruby に関するカンファレンスである RubyKaigi に Wantedly がスポンサードし、いくつかの講演を聴講しています。Wantedly はスポンサーブースを設けていて、Twitterをフォローしてくださった方には技術書や開発に役立つ Engineering Handbook をプレゼントしています!

WantedlyはRubyKaigi2022にプラチナプランとして協賛し、技術書と開発に役立つHandbookをブースでプレゼントしています #rubykaigi | Wantedly, Inc.
こんにちは!Wantedlyで技術イベント企画まわりを担当しています竹内みずき (@amanda__mt)です! いよいよ本日から3日間、 RubyKaigi 2022 が開催されますね!私たちはこの度プラチナスポンサーとして協賛させていただき、三重県現地にて参加する運びとなりました。 直近2年間はほぼすべてのカンファレンスやイベントがオンラインでの開催となり、今回は久しぶりの ...
https://www.wantedly.com/companies/wantedly/post_articles/430335

本記事では、1日目の Tools for Providing rich user experience in debugger について紹介させていただきます。

Tools for Providing rich user experience in debugger

Rubykaigi 公式ページ: https://rubykaigi.org/2022/presentations/ono-max.html#day1



Ruby 3.1 から導入された debug gem を活用した、リッチな UI 上 での debugger の紹介です。

大きく分けて2つの機能に対する紹介がありました。それぞれについて紹介していきます。

  1. Chrome dev tool で Ruby プログラムを debug する
  2. vscode で Ruby プログラムに対して debugger を動かす(追記予定)

Chrome dev tool で Ruby プログラムを debug する

元々 vscode による debugger を利用する方法は提供されていましたが、vscode ユーザーしか debug gem を利用することができないという問題がありました。そこで、広く使われている Chrome の dev tool を debugger UI として利用することで、誰でも debug gem を利用できるようにすることがモチベーションにあったそうです。

今セッションでは実際に debug gem を利用して、chrome dev tool での debugger のデモを行っていたので、同じように Chrome dev tool での debugger を試してみます。

デバッグ対象の Ruby プログラムとして以下を用意しました。

% cat target.rb
a = 1
b = 2
c = a + b
d = c * 2

gem install debug で debug gem を install した後、以下のコマンドを実行すると Chrome dev tool による debugger が起動しました。

% rdbg --open=chrome target.rb
DEBUGGER: Debugger can attach via TCP/IP (127.0.0.1:52344)
DEBUGGER: wait for debugger connection...
DEBUGGER: Connected.

ステップ実行や、各ステップでの変数の状態も確認することができます。

また、実行途中で dev tool の Console タブを開き、変数の値を書き換えてステップ実行を進めることで実行途中で値を書き換えて以降の処理を実行することができました。

私は debug ツールとして pry-byebug gem を使いますが、単一ファイルで動作するような小さな Ruby プログラムでは簡単にデバッグできる debug gem の方が便利だと感じました。

例えば、競技プログラミングといった1ファイルで完結するようなプログラミングに対するデバッグは debug gem に軍配に上がりそうです。


vscode で Ruby プログラムに対して debugger を動かす

(まだ試せてないのであとで追記します...)


次のブログへ👇

RubyKaigi2022 参加記 #5 - Making *MaNy* threads on Ruby (Day 1) | Wantedly Engineer Blog
こんにちは!Wantedly でプロジェクトマネージャ兼バックエンドエンジニアをしている鴛海です。 今回は、日本最大の Ruby に関するカンファレンスである RubyKaigi に Wantedly がスポンサードし、Wantedly のエンジニアも参加しています。また、Wantedly はスポンサーブースを設けていて、Twitterをフォローしてくださった方には技術書や開発に役立つ Engineering Handbook をプレゼントしているので参加されている方はぜひお立ち寄りください! 久しぶりの
https://www.wantedly.com/companies/wantedly/post_articles/430779
Wantedly, Inc.からお誘い
この話題に共感したら、メンバーと話してみませんか?
Wantedly, Inc.では一緒に働く仲間を募集しています
3 いいね!
3 いいね!

同じタグの記事

今週のランキング

新谷 哲平さんにいいねを伝えよう
新谷 哲平さんや会社があなたに興味を持つかも