Ruby 開発者の皆さん、こんにちは! デバッグはソフトウェア開発における重要な工程ですが、ほとんどの開発者は実際のデバッグの仕組みを理解せずにデバッガーを使用しています。RubyMine チームは数年にわたって Ruby 用のデバッグツールを開発しており、その開発の行程で得た知見の一部を共有したいと考えています。 この記事では、Ruby デバッガーの背後にある TracePoint、命令列、および Ruby の C レベルデバッグ API という主な技術について説明します。 まずは TracePoint について取り上げ、それを使用してデバッガーに重要なイベントでコードを停止させる仕組みを見てみましょう。その後、最小限の機能を備えたデバッガーを構築して実際の動作を確認します。次に、Ruby のバイトコード概要とその TracePoint との連携の仕組みを理解するため、命令列について取り

