3

エラー backtrace から、$!.backtrace各ステップのメソッド名を抽出できます。各メソッド呼び出しの受信者をさらに抽出したい。この機能を持つこの宝石を見たので、これを行う方法があると確信しています。

上記のgemは を使用しているようでKernel.set_trace_func、情報を記録していbindingます。ただし、すべてのメソッド呼び出しに対してこれを行うと、プログラムの実行が大幅に遅くなります。bindingエラーにつながるコール スタックに関連する情報を選択的に記録するにはどうすればよいですか?

4

1 に答える 1

1

私の知る限りbinding、実行をトレースする以外に、例外が発生した後に情報を取得する方法はありません。

AC 拡張機能は、例外オブジェクトで利用可能な情報にアクセスできる可能性があります ( https://github.com/ruby/ruby/blob/trunk/error.c#L552を参照)。

あなたはここでかなり運が悪い...

于 2011-11-18T09:58:21.107 に答える