Debug Hacks Night
まいどまいどでございますが、2009/05/28 に、
Debug Hacks -デバッグを極めるテクニック&ツール
- 作者: 吉岡弘隆,大和一洋,大岩尚宏,安部東洋,吉田俊輔
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/04/27
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 419回
- この商品を含むブログ (73件) を見る
無粋なことを書きますが、私は別に著者陣の皆様に過度に思い入れているつもりもないですし、別にオライリー・ジャパンさんの宣伝をするつもりもありません。
でもこの本のコンセプトを聞いたときに絶対面白い! と思ってジュンク堂イベントにも参加してその場で現物を入手して、読み通したら想像以上に面白かったので、こうやってイベントに参加してその内容をしこしこブログにしたためようと思っている次第でございます。
とはいえ睡眠不足でふらふらなので今日は謝辞のみ。
まずは Debug Hacks という素敵な本を世に送り出していただいた著者陣とコントリビュータの皆様、
とりわけ本日のスピーカーの id:hyoshiok こと吉岡さんと吉田さん、
この本を出版し、またバッヂを大量に寄贈いただきイベントの盛り上げに一役買っていただいたオライリー・ジャパン様、
素敵なイベントを主催いただいた MIRACLE LINUX 様に深く感謝したく思います。
hyoshiok さんの GDB 講座などなど
えーと内容は Debug Hacks と被るので読め! ってとこなんですが、
ブレークポイントを適当なところに仕掛けて、そこまで期待通りの結果が得られていればその前は OK ということになり、そうでなければその前にバグがあるということになる
というのはちょっと新鮮でした。
オイラの場合は関数の頭を起点に見ていくことが多いので(つまり関数先頭にブレークポイントを設置するということ)。
まあ二次元で見るか、奥行き(コールスタック)で見ていくかの違いなのかもしれないけどね。
あと当たり前の話だけど心に響いたのは:
市場で起きた問題に関して問題の再現(環境設定・ヒアリングなど)を行うのは非常にコストが高い。一方でテストはそのコストが安い。だからなるべくテストでバグを検出しておくべきだ
という一節。
まだまだ書きたいことはあるのですが私のブログはいつも長くて焦点が甘いと評判なのでこの辺で。
よしださん ボツネタ Vol. 1.1 *2
今回はデバッグということで次のようなことはボツとなってしまった。
- Trouble Shooting
- Log
- 開発環境
- ボトルネック分析
- OS インストール・起動障害
printf Debug
- デバッガが使えない場合 (デバッガ自体のデバッグ) では有効
- 欠点:どうしても Debug 版と Retail 版の二重管理となる
- 没になった最大の理由:hyoshiok 哲学に反する
開発環境 *3
チューニング
- sysctrl
- memory
- disk
- N/W
Test
上記以外にも MIRACLE LINUX さん取り扱い商品でフォールトトレラントなサーバ運用をするような説明がありましたが、Debug Hacks という点ではちょっとずれるので割愛。
ビアバッシュ
相変わらずいろんな人といろんな話をしたなぁ。
でも今回は主に編集さんと話していたような覚えがある。
とっても面白い本に仕上がっていてうれしかったですって話とか、印刷の話とか、他のオライリーの書籍の話とか。
それから hyoshiok さんに d:id:naruoga:20090528:1243491493 みたいなことやってますって話をしたら「ぜひブログに書いてください」ってはっぱをかけられました。来週の小江戸オフには形にして持っていきたいと思います。
あと Kwappa さん がじゃんけん大会でTシャツをゲットしてました。おめでとうございます!
いやいやしかし、本も楽しかったしイベントも楽しかった。
あとはこの知見をこれからどれだけ生かせるかですな。頑張りましょう。
*1:お分かりかと思いますがこれ私のコメントです。けっこう気に入っていただいた言葉のようで、オライリー・ジャパンの担当編集さんに「読者の声として使わせていただいていいですか?」と言われたので「もちろん」と答えたけど、さてどうなりますやら。
*2:多分 Debug Hacks Conference のときが 1.0 だったんでしょう。
*4:ご存知、二分探索でバグが混入したコミットを見つける方法。でも手間がかかる割に違う答えが出てしまうこともあるので反対派もいる……らしいです。
*5:先の git bisect のように何度もコンパイルを繰り返す際に有効。
*6:字が汚くて見えないけど違うかも……。