なひです。

> From: Yukihiro Matsumoto [mailto:matz / ruby-lang.org] 
> Sent: Tuesday, March 12, 2002 3:01 PM

> |> で,「ステップ実行は欲しい」というニーズは理解しました。これ
> |> について一度も否定したつもりはなかったのですが,なひさんには
> |> そう聞こえたのかな。
> |
> |「デバッグしてないときの効率を下げない」という命題に
> |反するかな、と思っていて、否定的なのかと思っていました。
> 
> いや,次の停止地点が分かればその場所のワードを置換えることで
> 停止できるのではないかと。各メソッドは自分の実装(バイトコー
> ド列)の中で行が変化する地点(ブレークポイント候補)のオフセッ
> トを持っているようにしようかなあと考えてました。

なるほどかっこいー。

> あ,いかん。つい実装の話に。

まつもとさんはいいんじゃないでしょうか。^^;

> |Riteでは従来どおり、filenameと(lineno|method_name)の組か、
> |あるいはanObjectと(lineno|method_name)の組なんて考えも
> |ありますね。Javaみたいに、anObject,  method_name, pos
> |(メソッド定義先頭行からの相対位置)でも面白そう。
> 
> これがよさそうでしょうか。もっともanObjectでは限定が難しいか
> も。selector namespaceなどを考えるともうちょっと情報が必要か
> も。

selector namespaceというものをまだ理解していないのですが、
ともあれ足りないのは間違いなさそうです。Object#method( :foo )に
相当する情報に加えて、そのメソッドの実装中の行番号、になりますね。

# そういえばanObjectはCamelCaseだった。an_object? obj?

	/	/	/

デバッグ方法についてのリクエスト。でもたぶん無理かなぁ。
任意のRite VMプロセスのアタッチなんですが、
やらせませんよねきっと。Javaでも無理だし。
やっぱり-rdebugで起動したときのみアタッチ可能、
という感じでしょうか。

また、デバッガとVM debug APIの協調(通信)方法としては、
どんな方法がよいでしょう。つまり、デバッガはどこ(プロセス内?
ネットワークの向こう?)に居て、VMのdebug APIをどうやって
呼び出すか。

Javaは素のsocketで独自プロトコルでイベント通知。
現行rubyは同一プロセス内のメソッド呼び出し(callback)。
YARDはdRubyでcallback。dRubyはまぁ無茶として、
VMに、プロセス外からアタッチする機能が元からついてると、
IDE作る人は嬉しそうです。(なかったら、
YARDみたいに作ればいいんですけどね)

VMに埋まるプロセスをあまり大きくしたくないことを
考えると、やっぱりJavaみたいな形式がいいのかなぁ。