Rails で print debug したかったんだが
Rails の controller を書いていて、途中の変数の値を取りたいので pp なんかを使いながらプログラムの処理を追いかけようなんて思っていたのですが。 STDOUT
, STDERR
, $stdout
, $stderr
が使えないななんて思って、rails のプロセスのWEBrick の lsof をとってみたところ。。
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
ruby 20836 masaru 0r CHR 1,3 955 /dev/null
ruby 20836 masaru 1w CHR 1,3 955 /dev/null
ruby 20836 masaru 2w CHR 1,3 955 /dev/null
クッ、全部 /dev/null かよ。 しょうがねーな、debugger 使うか。
ってか、よくよく見てみたら、STDIN を /dev/null に redirect しているんだが、/dev/zero が正しくないかこれ?(笑)
とりあえず debugger 使うってことで、この辺のページを参考にさせていただきます。
「Railsでデバッグをする7つの方法」をよく読んでみたら、WEBrick を foreground で動かせば stdout, stderr が使えるってこと発見。 よってデバッグ進行。
コメント
コメントを投稿