るびべん です:

On Thu, 14 Mar 2002 20:54:39 +0900
"NAKAMURA, Hiroshi" <nakahiro / sarion.co.jp> さん wrote:
> なひです。
> ここでやりたいことはなひには理解できなかったんですが、
> dRubyでデバガということであれば
> http://www.ruby-lang.org/en/raa-list.rhtml?name=Yet+Another+Ruby+Debugge
> r
> こんなのもあります。

いや〜、わざわざこんな重装備するよな話ではなく、
#というか、なひさん のようなハイレベルの方の話ではありませんm(_ _)m

もっと低次元の話で。。。

===ここから
#!/usr/local/bin/ruby
 require 'drb/drb'
 
 class MyDebug 
 end
 
 Thread.start{
    テストしたいプログラム
 }



 DRb.start_service('druby://192.168.1.109:5963', MyDebug.new)
 DRb.thread.join
===ここまで

ぐらいのことです(というテンプレートに挟んでプログラムを書く)。
クライアント側は:

===ここから
#!/usr/local/bin/ruby
require 'drb/drb'

cmd=ARGV[0]
print "start..."
DRb.start_service
debug=DRbObject::new(nil,"druby://192.168.1.109:5963")
print "connected.\n\n"

print debug.eval(cmd)
print "\n"
===ここまで

で、

$./debug_client.rb $count

とかやれば、$count の値が見られるワケ。##ただ、eval が副作用起こす可能
性は否定でけんので(冷や汗・・・)

無限ループ終わらせるのもしごく簡単で、

$./debug_client.rb exit

ですね。

ちなみに(デバッグと全然関係ないですが)server側が動いている限り

$ ./debug_client.rb 'open("/tmp/document","r").readlines'

とかやると、よそのマシンのドキュメントが読めて便利(^^;;
だったりする(特に意味はない)

#簡易ピアトゥピア?



るびべん。