From: "NAKAMURA, Hiroshi" Date: 2002-11-08T17:04:56+09:00 Subject: [ruby-dev:18697] Re: ENABLE/DISABLE_TRACE (was Re: source file name at -r option) なひです。 > From: > Sent: Friday, November 08, 2002 3:35 PM > > > どちらかというと、rb_funcall()では有効にするとか。でもpp.rbでオー > > > > 試してみます。なひが内部をよくわかってないために > > 混乱を招いている気がします。これで[ruby-dev:18685] > > が解決されるのかどうか理解してないのですが、^^; > > patchを試してみてまた報告します。 > > 逆に私もdebug.rbの内部をよく知らなかったりします。 > DISABLE_TRACE()を取ってしまうとなぜかinitializeの中がトレースで > きなくなったりとか。 initializeの中がトレースされない、のではなく、 c-callである:newを呼ぶと、DISABLE_TRACEにより、 その中で呼ばれるinitializeがトレースされない、 ということでした。 という話ではない? デバッガはcall_trace_funcを受けて各イベントを吟味して 動いています。callだったらstackを作って、 lineだったらbreak pointをチェックして。。。など。 initializeにbreak pointを打っても、そこでイベントが 通知されてこないと、breakすべきかどうかのチェックができない、 ということです。 という話は中田さんのほうがご存知かも。^^; ちなみになひは現在手元では、カバレジを取るため、 DISABLE_TRACE()をコメントアウトして使っています。 1.7でプロファイル、トレース、デバッグ、カバレジ取得を する方は、気をつけてください。# ま、開発枝ですし。 # 1.7依存のFreeRIDEがどうやって # 折り合いをつけているのかは不明。。。