Windows プログラマなら読んでおきたい「Windowsデバッグの極意」

ちょろちょろと色んなところで紹介されていた Windowsデバッグの極意 ツールを使いこなして、バグハント! を軽く読んでみたが、この本は Windows 開発をやってる人なら一読したほうがよさそうだ。

Windowsデバッグの極意 ツールを使いこなして、バグハント!

Windowsデバッグの極意 ツールを使いこなして、バグハント!

  • 作者: Mario Hewardt
  • 出版社/メーカー: アスキー・メディアワークス
  • 発売日: 2009-04-28
  • メディア: 大型本
  • Amazon のレビューを見る

前書きの売り文句

前書きには次のような逸話が紹介されている。

MS のエンジニアが4~5日に1回クラッシュする問題を数週間かかっても解決できなかったが、gflags の使い方に詳しい人に教えてもらってから再現させると、そこから1時間で原因が分かった。

どこの通販番組だよ、と思ってしまったが、1章を読んでみて確かにこの本はすごいと思った。

オススメのデバッグツール9選

1章ではオススメのデバッグツールが9つ紹介されている。ざっと紹介すると次のようになってる。

  1. LeakDiag
    • メモリリーク検出ツール
  2. Debugging Tools for Windows
    • デバッガとツール群
  3. UMDH
    • メモリリーク検出ツール (LeakDiag のサブセット)
  4. Microsoft Application Verifier
    • 実行中のアプリケーションの自動診断
  5. gflags
  6. Process Explorer
    • 超強力なタスクマネージャ
  7. Windows Driver Kit
    • ドライバー開発用 SDK
    • ドキュメントが充実しているが難しい
  8. Wireshark
    • ネットワーク解析
    • RPC のデバッグにも有効
  9. DebugDiag

メモリリーク・リソースリーク・セキュリティのなど問題を自動で診断してくれたり、厄介なプロセス間通信やマルチスレッドの手がかりとなったり…。確かに、数日悩んでも手がかりが掴めなさそうな問題にも手がかりを与えてくれそうだ。

なによりも、これらのツールは全て無料で提供されている。便利なのは間違いないのだが、ドキュメントが少なかったり、逆に膨大すぎて使いどころが分からなかったりするのだが、この本では導入から、実際のバグに対してどのように利用するかが紹介されている。

各種バグへの対応方法

第1部ではデバッガの仕組みを深く解説している。難しそうだったので軽く飛ばして第2部をみてみた。第2部からは、起こりうるバグの種類1つずつについて、どういう挙動になるか、どのツールが便利か、どうやって原因を特定するか、といったことが事細かに書いてある。

本の値段はかなり高めだが、これを読めば数日悩むことがなくなると考えれば安い買い物かもしれない。ただし、.NET が前書きでばっさり切り捨てられていたり、Visual Studio も登場しなかったり、C++ を前提としていたりと、かなり硬派な本なので読む人を選びそうではある。

.NET な人には、.NET&Windowsプログラマのためのデバッグテクニック徹底解説 が MS 公認だしおすすめ。Visual Studio を使った高度なデバッグテクニックが紹介されている。

Windowsデバッグの極意 ツールを使いこなして、バグハント!

Windowsデバッグの極意 ツールを使いこなして、バグハント!

  • 作者: Mario Hewardt
  • 出版社/メーカー: アスキー・メディアワークス
  • 発売日: 2009-04-28
  • メディア: 大型本
  • Amazon のレビューを見る

関連オススメ本

Debug Hacks -デバッグを極めるテクニック&ツール

Debug Hacks -デバッグを極めるテクニック&ツール

  • 作者: 吉岡 弘隆
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2009-04-27
  • メディア: 単行本(ソフトカバー)
  • Amazon のレビューを見る
ひなた先生が教えるデバッグが256倍速くなるテクニック (Software Design Books)

ひなた先生が教えるデバッグが256倍速くなるテクニック (Software Design Books)

  • 作者: やねうらお
  • 出版社/メーカー: 技術評論社
  • 発売日: 2008-11-14
  • メディア: 単行本(ソフトカバー)
  • Amazon のレビューを見る
.NET&Windowsプログラマのためのデバッグテクニック徹底解説 (マイクロソフト公式解説書)

.NET&Windowsプログラマのためのデバッグテクニック徹底解説 (マイクロソフト公式解説書)

  • 作者: ジョン ロビンズ
  • 出版社/メーカー: 日経BPソフトプレス
  • 発売日: 2003-10-28
  • メディア: 単行本
  • Amazon のレビューを見る
Windowsダンプの極意 エラーが発生したら、まずダンプ解析!

Windowsダンプの極意 エラーが発生したら、まずダンプ解析!

  • 作者: 上原 祥市
  • 出版社/メーカー: アスキー・メディアワークス
  • 発売日: 2008-11-27
  • メディア: 大型本
  • Amazon のレビューを見る