Skip to content

Debugger

Tomoyuki Sahara edited this page Nov 18, 2013 · 4 revisions

TODO

  • fiber 対応
  • mrb_alloc を置き換えてもっと見えるようにする
  • mdb のビルド手順の変更 - mruby 本体に手を入れない。
  • pry の機能の取り込み
  • mrblib 等、ソースコードが取れない .rb の逆アセンブル

やりたいこと

  • mruby/mrbgem の C のコード上の任意の時点でのデータ構造のダンプを見る。

内部構造

  • pc2irep

fiber のある世界でのデバッガとは? そもそもデバッガは何をやる? mruby VM インストラクションひとつごとに止まる必要があれば止まって、何かやる。 mrb_run は... q

fiber は mrb_context をラップしただけのオブジェクト。

メソッド名で break したい。break には irep の id + lineno で止めるケースと、行番号で止めるケースがある。

step = なんでもいいからひとつインストラクション実行したら止まる next = 同じiseqの次のインストラクションに来たら止まる or return

Clone this wiki locally