『C# プログラマーのためのデバッグの基本&応用テクニック』を読んだ

デバッグに特化した本、しかも『応用テクニック』とあるので、 元 Microsoft の筆者による超絶技巧デバッグテクニックを期待してタイトル買いしたら、 紹介されているテクニックは既に自分がやっていることばかりだった。 ある程度経験を積んだ C# プログラマーなら、普通にやっていることだと思う。

メモリダンプを解析したり、 CLRProfiler や windbg を使ったりして、 Visual Studio のデバッガを単に使うだけでは原因を見つけることが難しいようなバグをどう直すか、 といったような内容を期待していたんだけどな。 リモートデバッガが出てきたときは、いよいよかと思ったけど、 そういった機能があることの紹介だけにとどまっていた。 使い方に一切触れていないけど、 どういった読者を対象にしているんだろう。

サンプルソースは『さすがに今までこんな間違い書いたことがない』というのが多くて、 気になって理解の妨げになってしまった。 いや、バグの発見はわかりにくいものなので、むしろこれが正解なのか? よくわからなくなってきた。 実際にバグが発生した本物の製品のソースコードを抜粋できたら一番いいけど、 さすがにそういうわけにはいかないから、 サンプルの作成は苦労しただろうな。

本書に書いてある内容は C# じゃなくても使えるものばかりなので、 駆け出しの新人プログラマーが読むと得るものが多いかもしれない。 デバッグに特化した、一種の知の高速道路みたいなものだから。