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

コメント

このブログの人気の投稿

ICOM IC-7300 と RS-BA1 Version 2 でリモート操作

Windows 11 で Win10Pcap のアンインストール方法

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