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 が使えるってこと発見。 よってデバッグ進行。

コメント

このブログの人気の投稿

パスワードを覚えるのも無理があるから、パスワードマネージャ使いましょう。

大型特殊自動車免許を取った時の話。

車両系建設機械運転者(整地) の講習