Debug Hacks Conference 2009 に行ってきた
Debug Hacks の出版記念のイベント,Debug Hacks Conference 2009に参加してきました.
まあいつものようにメモ.
はじめに
id:hyoshiok さんの朗読を聞く.
大岩尚宏さん
安部東洋さん
島本さん
- 「Debug Hacksのコントリビュータです.いくつか記事かきました」
- malloc や free で落ちた話
吉田俊輔さん
- Debug Hacks Hacks ということで番外編 - トラブルシューティングHacks
- これまで動いてたアプリがうごかなくなった
- 相関関係 != 因果関係
- 対処の前にいろいろ情報を保存し
- 「仕様です」といってしまう場合も!
今王必欲至士 先従隗始 by yuguiさん
- User Landよりの話をします
- 仕事ではRails -> 再現は楽
- 再現をさせるためにはログが重要
- BDD
- 最低限のコードを書く
- バグがある -> 仕様違反がある-> 特定できる
- しかしレガシーコード*1もある
- コードを見る
- なんのために書いてあるかを考える
- なんのために書いてあるのかがわからなかったら削除する
- 削除しても動いたら不要
- 削除したら動かなかったら必要 -> テストを書く
- Debugで特定ができない
- 敗北
- 敗北したら特定する
- どこにあるのか
- だれがやったのか
- 外からattach
- 誰がデータを壊しているか
- その場で壊している(自明)
- もう少し複雑 -> フレームを上っていく
- それでもわからない -> データを抽出, gdb で define
- 質問「これまでで一番の敗北は?」
- 「(前半聞き逃した.)コードを全部書き直して解決した」
てかプレゼンのページめくりがWiiリモコンだった・・・!!
yuguiさんの話はすごく納得した.実践できてないところを反省しつつBDDとまではアレだけどせめてテスト書いたりする方向へがんばっていきたいですね.
表紙
- 蚊取り豚なのはなぜ?
- 虫をとりましょう -> 虫といったら蚊 -> 蚊取り線香
で,一応書きますが id:sotarok のデバッグ
yuguiさんから宿題も出たので,とりあえず勝手に書いておきます.
まあ,基本的にPHPなので,基本ダンプデバッグです.
うまく動かない場所で var_dump(); exit; でしょうか. 基本的にマルチスレッドにならないPHPはこれでだいたい大丈夫です.
少し苦労したら debug_backtrace() 関数でコールスタックを見たり,xdebugでスタックトレースしたり.そんなこと1回くらいしかしたことないですが.
基本的にそれほど特定の難しいバグに出会ったことはありません.
あと,基本的にフレームワーク上に開発することが多いので,フレームワークのログに頼ったりですかね.
まあウェブ開発は,あんま深いところに入らないから基本的に表でうだうだやってるとバグはなくなってる感じかもしれません.
とりあえずテスト書けってかんじですよね.はい.
ほかのPHPerのデバッグも基本的にこんなんじゃねえかなあ・・・と思ったり...
まとめ
shomaさんともちょっと話したけど,LL系の勉強会と結構参加層が違ったりして面白いなーとおもった.カーネル寄りの人たちがおおかったのかな?
最近は自分も下のほうに興味があるから,これから勉強していく分野かもしれないです.
会場で現物購入
Tシャツをおまけでもらった!
いつものとおりミーハー心をきっちり出してサインももらってきた.
ミッションコンプリート.
Debug Hacks -デバッグを極めるテクニック&ツール
- 作者: 吉岡弘隆,大和一洋,大岩尚宏,安部東洋,吉田俊輔
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/04/27
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 419回
- この商品を含むブログ (73件) を見る
*1:なんちゃらかんちゃらによると,テストの無いコードのこと