結論から言えば、ベストな解は見つかってませんので、あくまでアイデアのメモとして。 以前、P::M::StackTrace について以下のような話を書きました。 plackup を -E development で起動するとついてくるPlack::Middleware::StackTraceは大変便利ですが、このMiddlewareは最後に発生したdieを追跡するため、フレームワーク内で try ... catch ... die をしていると、原因となった部分ではなく rethrow させた部分のトレースが表示されてしまいます。 レガシーオレオレフレームワークをPSGI化した記録 ここで言っているrethrowとは、例えば以下のようなコードです。"some reason"が例外として上がってきた場合、普通なら表示したいスタックトレースは直接の原因となった(1)の呼び出し時のものでしょうが、