From: Kikutani Makoto Date: 1999-08-30T01:26:27+09:00 Subject: [ruby-list:16356] Re: ruby debugger (like gdb attach) --jho1yZJdad60DJr+ Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Wed, Aug 18, 1999 at 02:21:00AM +0900 において kikutani@sprintmail.com 曰く: > > |あと、この機能、標準のdebug.rbに入れていただけないでしょうかねえ? > > |1.4のdebug.rbはreadline対応なんで前の変更と同じでは動かなかった。 > > これはreadlineのせいじゃなく、rubyのbugのせいでした。 > curはparseargを使っているので。 > > > 「入れない」とはいいませんが、どういう風にするのが良いのか簡 > > 単に判断できないと思うのです。たとえばremotedebugのような別 > > ファイルにすると言うのも手かも知れません。 > > じゃあちょっとやってみます。 簡単なのを作りました。remotedebug.rb と debug-client.rb を rubyのPATHに置いて、 ruby -rremotedebug.rb cur.rb てな感じです。 問題点がいくつか。 1) 開くのがrxvt決め打ちになっているが、ktermなどにしたいとき どうやって指定したらいいか? 2) debug-client.rb のほうではreadlineを使いたいけど、threadを使ってる せいか、やると異様に遅くなる 3) debug-client.rb のほうでコマンド待ちのとき (rdb:-) を出したいが、 うまく行かない 4) 前にも書いたとおり、debug-client.rb からCTL-Cをdebuggerにわたしたい -- 人生を背負い投げ 菊谷 誠(Kikutani Makoto) kikutani@sprintmail.com --jho1yZJdad60DJr+ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="debug-client.rb" Content-Transfer-Encoding: 7bit #!/usr/bin/env ruby require "socket" debug_socket = ARGV.shift port = UNIXsocket.new(debug_socket) #begin # require 'readline' # def readline(prompt, hist) # Readline::readline(prompt, hist) # end #rescue LoadError def readline(prompt, hist) STDOUT.print prompt STDOUT.flush line = STDIN.gets line.chomp! line end #end s = port.gets print s $reader = Thread.new do while true s = port.gets print s STDOUT.flush end end while true # s = readline("(rdb:-) ", true) s = readline("", true) printf(port, "%s\n", s) end --jho1yZJdad60DJr+ Content-Type: application/octet-stream Content-Disposition: attachment; filename="remotedebug.rb.gz" Content-Transfer-Encoding: base64 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 WY0DbD+Y/l3/3yRGSVvKIwAA --jho1yZJdad60DJr+--