From: "NAKAMURA, Hiroshi" Date: 1999-08-05T13:59:29+09:00 Subject: [ruby-list:15889] Re: ruby debugger (like gdb attach) なひです. > From: kikutani@sprintmail.com [mailto:kikutani@sprintmail.com] > Sent: Thursday, August 05, 1999 1:38 PM > > > > + UNIX domain socketを作り、そこからコマンド入出力を行う。 > > > > > > > > + UNIX domain socketに対する双方向入出力をするプログラム > > > > をdebugcomm.rbとすると、kterm -e ruby debugcomm.rb & > > > > で入出力用ウィンドウを開く。 未だに入門Perl見てませんー(こればっか > debuggerから「p」で変数の値を出すと、被debugプログラムのrxvtに > 出力が出ちまいます。これってたぶんrubyの「p」を呼んでるから > だと思うけど、どうしたもんでしょ? debuggeeラッパ(sdebugでしたっけ?)の when /^p\s+$/ のところで,debug_evalの結果を debugger用socketに流し込むようにするといいと思います. その下の「else」のところも同様ですね... > あと、この件とは関係ないんですが、長いプログラムで、 > > 1 require "a" > 2 require "b" > 3 require "c" > 4 require "d" > 5 > 6 main > > とかなってるとします。このうち、ファイルcの中のclass Hogeの中の > メソッドugaにブレークをかけたいとします。 b 3 してから c で行3まで モジュールcを含むファイルのフルパス(!)がわかれば, b /usr/local/lib/ruby/1.3/foo.rb:uga なんてすれば止められます. 現時点ではファイル名,メソッド名(もしくは行番号)しか見ておらず, クラス名は見てません.ので, foo.rbの中にugaというメソッドが3つあれば,全部のugaで止まります. > b Hoge::uga > みたいに設定できないもんでしょうか? Ruby interpreterの方に手を入れないと, クラス名::メソッド名 にbpを張るのは無理な気がする...?