2007-04-09 晴れ一時雷警報,夕方になっても冷え込まず [長年日記]
_1 財布忘れた
気がついたのはバスに乗ってしばらくしてから.
どうしようかと思っていたら幸運にも前席に同じプロジェクトの後輩が座っていた.降りがけにお願いして\2,000貸してもらった.ありがとう>Y田君
バス通勤になってから忘れたことなかったのにな.ちょっとショック.カバンのどこかに往復のバス代だけでも常備しておこうかな.
_2 systemtap
カーネルをデバッグする必要があって使い始めた.といってもprintkを追加する相当のことしかしてないけど.
導入にあたり,いろいろと敷居は高いものの,バイナリパッケージでカーネルをインストールしている環境では,カーネルをコンパイルする手間を考えれば低いかも.敷居に感じたのは以下の点.
- systemtapがGCC 4.0.2以降を要求する点(最初試そうと思った手元のGentooマシンはGCCが3.4.5だったので使えず)
- Fedoraではkernel-debuginfoおよびkernel-debuginfo-commonが必要であること
関数の終了時情報を採取できかった(returnに設定されている値の中身が知りたかった)ことを除けば*1,大体やりたいことはできた.これは便利!
probe kernel.function("関数名") { printf("hoge() is called\n") printf("\n") }
みたいなスクリプトを書いて,
# /usr/bin/stap hoge.stp
と実行すると実際に指定した関数を通るまで待っている.カーネルが指定の関数を実行したときにメッセージが出る仕組み.なので実際に使う場合はターミナルを2つ以上開いて一方でsystemtapスクリプトを実行しつつ,もう一方でテストプログラムを走らせるとそのときのカーネルの動きを知ることができる.
*1 probe kernel.function("func").returnがダメっぽい
_3 頭突き
仕事中にヨメはんからメール.花子が転んでめちゃくちゃ重い座卓に頭突きしたらしい.しかもその後があおたんになっているらしい.かわいそう.
頭を強く打ったのでらしいので,打ち所が悪くないかどうか心配.