2008-12-06
■ひなた先生が教えるデバッグが256倍速くなるテクニック

ひなた先生が教えるデバッグが256倍速くなるテクニック (Software Design Books)
- 作者: やねうらお
- 出版社/メーカー: 技術評論社
- 発売日: 2008/11/14
- メディア: 単行本(ソフトカバー)
- 購入: 20人 クリック: 256回
- この商品を含むブログ (51件) を見る
某所で教えてもらった。
定石はあるのだが、中々言葉では伝えにくい。
例えば再現性100%ならロジック系の間違い。操作に関係なく一定の比率でランダムに起こるなら割り込み系を疑う。
まず、再現させて再現率を調べる。(再現率は後々、対策されたかどうかの目安にもなる)
100%再現なら間違いなく直せる。
ログを出すなりデバッガー・ICEを使うなりで素直にロジックを追いかけていけばいい。
数十回に1回程度なら何とか、発生した時と発生しない時の状態を比較することで解析できる。
再現しないものが一番難しい。
メモリ関係やセマフォー関連などやばいシステムコールを使うものは一度ラッパーをかましてログを出させるようにしておくと後々役に立つ。開放忘れや枯渇時にエラーを出させるようにできるから。
最近あった不具合ではグローバル変数に保存した使ってないディスクリプタをclose()するとかいうちゃぶ台返ししたくなるようなのがあった。せめてclose()の戻り値を確認していればまだ救えるのに。
ずっとデバッグしていると動作見るだけでなんとなく不具合原因の予想がつくようになってくる。
先日も後輩が1日中かかってバグが見つからなかった所のソースを見ただけでバグを見つけたことがある。
要は範囲外アクセスで関係ない所を壊して飛ばしていたので、「範囲外アクセスしそうなコード」でソースをフィルタリングして見れば直ぐにおかしな所は見つかるわけである。
しかしデバッグというののやり方は中々公式化できなくて、事例ごとに「これがこうだから、こうだろ?」と教えるしかないので
デバッグの本があるならちょっと読んで見たい気がする。
P.S こんなのも出してるらしい
- 作者: やねう解析チーム
- 出版社/メーカー: 秀和システム
- 発売日: 2004/08
- メディア: 単行本
- 購入: 5人 クリック: 118回
- この商品を含むブログ (172件) を見る
■プレミアムクラブのケータイ保障お届けサービス

先週の日曜日に携帯落として、今日休みになったので携帯買い換えるべく、ドコモショップに行ったら
「お客様はプレミアムクラブのケータイ保障お届けサービスに入られていますがどうしますか?」とのこと。
5250円+郵送料3000円でSH905iの新しいのが月曜日には届くそうです。
すっかり忘れてました。早く行けば良かった。
警察に行って遺失物の届けを出して、受付番号を電話で話して作業終わり。
GPSで無くした時の位置検索とか、電話帳お預かりサービスとか、昔に比べて便利になりましたね。
また、無くした時のために受付電話番号をメモ
■最初に決めたことは中々変えられない話

おまえら本当に6万5000個ものグローバルIPアドレスが必要なの?使ってるの?
おまえら本当に6万5000個ものグローバルIPアドレスが必要なの?使ってるの?
6万5000個ということはクラスBかな。
