kowさんは天ざる大好き

創作に絶望すると、世界が反転した日記

デバッグテクニック

夜の二時ごろまで、お酒をのんでふらふらしていた。
お酒を飲みながら、評価版を頭の中で実行していたのだが、お酒が入ると、得体の知れない無駄なモノまでインスパイアされてきて、こらあかんと思って、寝ることにした。


そしたら、こんな夢を見た。


今年こそは夏の休暇を利用して、大阪でミーティングをやろうと思っていた。
そこでキャラ絵を描いてくださっているにちのさんと待ち合わせをして会う。
すると、にちのさん(id:nitino)が、メガネをしている。
(にちさんはコンタクトだったんじゃ…)
まあ、なかなかいいセンまでいっていたけど、その程度のイメチェンでは、わたしを慌てさせるほどではない。
わたしは、アクセサリ感覚でメガネを身につけることができる逸材なのだと思うことにした。
とりあえず、流れは覚えていないが、にちのさんがおいしいたこ焼きをご馳走してくれるということなので、わたしはどのぐらいうまいのか試してやる!と意気込んでついて行った。
道すがら去人の話なんてそっちのけで、プログラムの話をにちのさんとしていた。
もちろん、メガネをアクセサリ感覚で装着できるにちのさんだからして、絵描きさんが、突然スーパープログラマになっても全くわたしを慌てさせるほどではない。
すると、にちのさんは、学校の調理室のようなところに入っていて、自分がたこ焼きを焼くから待っているように指示された。
その間、わたしはさっき話していたプログラムのアイディアを実装していたのだけど、うまく動かなくて泥沼にはまりこむ。
ログを書き出そうとする(たぶん、評価版につけた、パフォーマンスログクラスの改修)と、とつぜんファイルの共有違反で落ちる。スレッド間で共有しているところが問題らしかったが…
すっかり意気消沈していると、にちのさんが、たこ焼きをもってきた。
わたしが、そのたこ焼きを食べようとすると、そのたこ焼きは穴だらけだったのである。
そこで、わたしは、はっと目が覚めた。


夜中の三時半。

デバッグのためにロギングしようにも、あまりにロギングしすぎると
本来の実行速度とはかけ離れたものになってしまう。たこ焼きで言うなら
焼けたか確認するために串を1秒ごとに刺しているとたこ焼きが穴だらけに
なってしまうということだ!

IM 2005-07-21 JaSST’05 in 大阪 より


なるほどなるほどと思って、さすがうまい例えやなーと思っていたのである。
でも、問題提起なされたところまでで、わたしは、そならどないしたらええのか? というのは考えていなかった。
どうやら、そのベストプラクティスを気になっていたようだ。
yaneSDK2ndにあった、デバッグウィンドウみたいに、真偽値が真のときだけ、ログればええんとちゃうのか。
でも、不測であればこそ、ログの意味があるのではないか? うーん……
十分ぐらい考えたが眠くなったので、寝た。


朝起きたらひどい朝だった。脳が休んでない。もしかしたら、寝ながらずっと考えこんどったのか、あたしは……

にちのさんは、至ってまとも方でして、たこ焼きの焼き加減も(たぶん)ちゃんとわかる方です(す、すんません、にちのさん。
去人の絵をがんがって描いてくださっているすばらしい方です(とかいってごまかしてみる