全文検索エンジンのGroongaでmrubyを使っているのですが、たまにCRubyと異なる挙動に遭遇することがあります。このようなときはmrubyに問題があります。特定のメソッドの挙動がおかしいときはmrubyのライブラリーの実装に問題があります。構文の使い方で挙動がおかしいときはmrubyのVMに問題があります。 mrubyの問題に遭遇するときは、なぜかmrubyのVMに問題があるケースばかり1なのですが、久しぶりにmrubyのVMにある問題を直そうとしたらデバッグの仕方を忘れていました。忘れても後から思い出せるようにメモしておきます。 詳細は後述しますが、基本的な流れは次の通りです。 問題を再現するスクリプトを作る。 mrubyをデバッグビルドする。 mrbc -vでスクリプトの構文木(?)を確認する。 GDB上でmruby XXX.rbを走らる。 src/vm.cの中で問題のラベルが