いわゆる「printfデバッグ」ばかりやっているような人に、デバッガいいよすごくいいよ、と宣伝している本。gdb、DDD、Eclipse(のデバッグ機能)についての一通りの使い方と、デバッガ以外のデバッグに役立ちそうなツール類の紹介をしている。
「実践」というからにはもっとつっこんだ内容かなと期待して買ったものの、あんまりそうでもなくてガッカリ気味です。デバッガなんてほとんど使ったことがないような人向けという前提なので、ばりばりデバッガ使っているような人が何か新しいバグ解析手法を知りたいと思って購入すると残念感が大きいです。UNIXのセグメンテーションフォルトについて詳しく書いているように見えて実は内容がいまいちだったり、ソケット・シグナル・スレッド周りのデバッグは難しいといいつつそれらについてのより実践的な話があるわけでもなく、極めつけはシグナルハンドラ内でprintfするサンプルコードが乗ってたり(バグの元です)、など。
どちらかというと、今まで知らなかったようなコマンドやツールをいくつか知ることができたことが収穫だと言えるのかもしれない。gdbの模擬配列「(int[25])*x」「*x@25」、displayの反対「undisplay」(実はこれを知らなくて今まで苦労していた、、)、gccの -fmudflap、OpenMP (gccでは -fopenmp)、SWIG、あたりかな。
ただまぁ、シグナル・スレッド・ソケット・malloc系とタイミングが絡むと、本当やっかいですよねぇ(誰に話してんのよ、、)