DEBUG HACKS Conference 2009 に参加しました

久しぶりのブログです。今回は zaurus とは関係ないですが。。。

昨日開催された Debug Hacks の発売記念イベント Debug Hacks Conference 2009 に参加してきました。

参加前は本を買うかどうかは立ち読みしてから決めようかと思っていたんですが(^^;)、会場の即売所で買ってしまいました。

オライリーの紙袋 Debug Hacks Tシャツ

会場で本を買ったら DEBUG HACKS Tシャツがもらえました。ネタ以外では着れないですが・・・。
本を入れてくれたオライリーの紙袋がCoolです。

Conference の内容は詳細に書かれている方々がいらっしゃると思うし、動画がいずれニコニコ動画等にアップされると思うので、個人的にためになった部分を。

GDBでリスト表示

まず、gdb のユーザ定義コマンドによるリストの表示。構造体内のnext を辿って最後まで表示してくれるというもの。ユーザ定義コマンド自体は知ってたけど、面倒そうで使ったことなかったんですが、 こういう使い方が出きるなら便利ですね。

コードはメモってないので書けませんが、ユーザ定義コマンド(仮に list_print とする)で1つの構造体を表示するようなコマンドを作っておき、別のユーザ定義コマンドで next を辿って list_print を呼び出すというもの。(説明が下手ですな)

たしかに、ユーザ定義コマンドを作るのに手間がかかりますが、何度も何度もリストを見なければいけない場合には使えそうです。

今までは、

(gdb) p *list_head->next->next->next->next->next->next->next

とか普通に打ってました (汗)

Yuguiさんの発表

私は Ruby は触ったことがないこともあり、失礼ながら Yugui さんを始めて知りました。

まず、プレゼンうまいなーと。スライドの作りも個性的で、話の流れもわかりやすく、ユーモアもあり、とても印象に残りました。

印象に残ったのは、Ruby や Rails ではデバッグであまり苦労していないということ。言語設計やソフト設計が厄介なバグを混入しにくくしているんだなと感心しました。

DbC (Design by Contruct) や BDD (Behavior Driven Development) といった、軽微なバグを初期段階で検出できて、バグを混入しにくい作り方が、地味そうに思えるも非常に有効だと分かりました。

体験談として、DbC を適用して assert 入れまくったらバグがボロボロ出てきて、全て退治したらバグが1つしか残らなかったとおっしゃってました。1つのスキームで数百、数千単位のバグを1つにまで減らせたというのは驚きです。

こういう理論って確かにそうだけど、実際開発には適用が難しくない?とか、本当に手間に対する効果があるの?みたいなことを考えてしまうのですが、バリバリ開発しているハッカーに言われると非常に説得力があります。

いま仕事で開発してるソフトに DbC に倣って assert 入れまくってみようかな。結果がちょっと怖いですが (^^;

サインもらいました

最後に著者の方々にサインをもらってきました。

まだ本は読んでないですが、なかなか勉強になる Conference でした。

関連した記事:


2 comments

  1. bucchi さん、こんばんは。ブースカです。
    「DEBUG HACKS Conference 2009」おもしろそうですね、O’REILLY から「Debug Hacks」が出版されることは知っていたのですが、関連して Conference があったんですね知りませんでした。実は、bucchi さんのエントリー「4GSD へ ipk インストールの道 シリーズ」の qinstall-fix で使われているバイナリ用のパッチコマンド bpatch に刺激されて、つい最近 O’REILLY の「Binary Hacks」を購入したところなんですが、「Debug Hacks」も購入たくなりました。
    あと、「ニコニコ動画」での配信始まっていますね、荻原一平さんの blog「おぎろぐはてな(http://d.hatena.ne.jp/i_ogi/)」の4月23日のエントリー(http://d.hatena.ne.jp/i_ogi/20090423)からたどれます。とりあえず『今王必欲致士 先従隗始 / Yugui + 全体質疑 ~ クロージング』(約40分)を見終わりました。連休中の楽しみができました。しばらく楽しめそうです。では……

    • ブースカさん。こんにちは。
      すでにブログ書いたときにはニコニコ配信されていたんですね。ググり足りませんでした (^^;
      映像は PC の出力を録画したもの(PPT のスライドのみ)なんですね。会場でビデオの撮影もやっていたので、スライドをビデオで映した映像なのかなと思ってましたが、細かい字はこちらの方が見やすいのでいいですね。

      私のエントリがキッカケで興味をもたれたと言うのは、書き手としてはとても嬉しいです。Binary Hacks は ELF バイナリの仕組みやいじくり回し方といった純粋に技術的な内容なので、技術的な知的好奇心が満たされる書籍ですよね。

      Debug Hacks は実際の経験談が多いためか、もうちょっと狭く深い内容なので、直接的にデバッグ時に適用できることは少なそうです。ほぼ i386 向けですし。(私の仕事は組み込み系なので i386 はまず使わない・・)

      Conference でよしおかさんが話をされていましたが、「属人的なデバッグのノウハウを書籍にしたもの」と言う表現がピッタリですね。「この人は」こういう方法でデバッグするのかーと参考になる感じです。デバッグ方法の答えは無数にありますからね。

      ということで、Debug Hacks は人によって有用かどうかが激しく差が出る書籍だと思いますので、買うときは立ち読みしてからがおすすめです。

      長文になってしまいました・・・すいません。

コメントを残す

メールアドレスが公開されることはありません。

*