mruby の例外の backtrace は Fiber.resume より呼び出し元に近い関数は含まれない。 この動作は CRuby も同じではあるが 時々不便に感じていたので Fiber.resume の呼び出し元のバックトレースが含まれるようにする mrbgems を作ってみた。 sample.rb begin fb = Fiber.new do Fiber.yield raise "ttt" end fb.resume fb.resume rescue => e puts "e.backtrace" puts "#{e.backtrace.map{|v| " " + v}.join("\n")}" end