以下の内容はhttps://takuya-1st.hatenablog.jp/entry/20090818/1250620880より取得しました。


printfでデバッグをやめた理由

Rubyにはスレッドがある。クローラーをスレッド化して楽をしようとしてた。スレッドをさんざん使い回した挙句、高速化にはあまり効果を示さないことがわかった。

ただ、デバッグにはめちゃくちゃ便利だとわかった。

任意の場所で簡易コンソール

def debug(obj)
	t = Thread.new(obj) {|obj|
		s=""
		begin
			eval s
			STDOUT.print "Enter:>"
			STDOUT.flush
		end while s=gets
	}
	t.join
end


class Hoge

   def aaa
       debug(self)
   end
end 

なるほど。スレッドってそういうことだったのですね。
これでPrintを何度も仕込まなくてよくなった。

簡易コンソールでブレイクポイント

BUID_STATUS="DEBUG"

def debug(obj)
   return if BUID_STATUS!="DEBUG"
	t = Thread.new(obj) {|obj|
		s=""
		begin
			eval s
			STDOUT.print "Enter:>"
			STDOUT.flush
		end while s=gets
	}
	t.join
end

これでどんな場所でも簡易コンソールを開くことが出来る。べっっべ便利じゃ。




以上の内容はhttps://takuya-1st.hatenablog.jp/entry/20090818/1250620880より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14