From: "NAKAMURA, Hiroshi" Date: 2002-11-06T16:42:52+09:00 Subject: [ruby-dev:18658] tracing at_exit proc なひです。 [ruby-dev:18645]に引き続き、デバッガ・trace関連の話題です。 複数のデバッガユーザさんからのクレームで、 「Test::Unitで書いたテストコードのデバッグができない」 というものがあります。これは[ruby-talk:35845]に 書いたような理由なのですが、整理して書くと、 Test::Unitは、at_exit procの中でテストコードを走らせるのを 前提としているが、Rubyでは各at_exit procは 本体とは独立しており、本体で設定したset_trace_funcは 無効である ということに拠ります。 # あってます? で、どうするのがいいでしょう。ご意見ください。 1. Test::Unitユーザにはデバッグを諦めてもらう。 2. Test::Unitのat_exit利用がヘン。作者に直してもらう。 3. Test::Unitにデバッガ対応してもらう。例えば状況に 応じてat_exitの先頭でset_trace_funcするように。 4. rubyを修正して、at_exit procで本体のtrace_funcを引き継ぐ。 4はないと思うし、3も筋悪いので避けたい。 1や2の場合、わかりやすい説明があったらどなたか教えてください。 「at_exitでは○○ができないんだから××なんてすべきじゃない」 みたいな。 # できれば英語で。^^;