カーネルデバッガ「WinDbg」入門(その2)
前回は「メモ帳」に触れながら、次のような基本事項を確認しました。
・「メモ帳」はWindows「アプリケーション」である
・「メモ帳」はWindows「プロセス」である
・「メモ帳」はWindows「オブジェクト」である
・「メモ帳」は2つの顔を持っている
・「メモ帳」の動作時間は「UserTime」と「KernelTime」で構成される
「UserTime」と「KernelTime」はそれぞれ、「User Mode」(ユーザモード)と「Kernel Mode」(カーネルモード)と言い換えることが可能です。本連載で取り上げる「WinDbg」はマルチモードデバッガであり、ユーザモードで動作するWindowsアプリケーションとカーネルモードで動作するWindowsシステムプログラムの動きを分析できます。
カーネルデバッガ「WinDbg」を使用する人とは?
「WinDbg」は「強力、かつ、便利」なプログラムです。このブロッガーのようなMicrosoft社内の開発者にとっては必需品の一つです。筆者ははじめて「WinDbg」に触れたとき、"このツールが使えなければWindowsを語る資格はないだろう"、と実感しました。そして、WinDbgツールにある程度精通した今、現在インターネットなどから公開されているWindowsに関する情報の90%以上は、"Windowsの真実や魅力を何も語らない情報"と感じないわけにいきません。
先のブロッガーはCLRサポートチームの一員ですが、同氏のチームはCLR専用の「SOS.DLL」という、「WinDbg」拡張DLLを開発しています。CLRはCommon Language Runntimeの略語であり、Javaでいえば、JVM(Java Virtual Machine)に相当します。CLRは、いわゆる、"ネイティブWindowsの上位層に位置する仮想OS環境"です。最新バージョンの「WinDbg」の実装機能を分析すれば、Microsoft社の最新の動きがかなりの確率で分かってしまいます。
上のブログ記事にはいくつかのコメントが付いています。"「WinDbg」の基本的な使い方を知りたい!"、とコメントしている人がいます。また、このブログ発言は信憑性に乏しい!、と辛らつなコメントを書き込んでいる人もいます。筆者が調査した範囲では、「WinDbg」の基本的な使い方や技術的な背景記事はそれほど公開されていません。"公開されているWinDbg情報は矛盾や試行錯誤も同時に含み、矛盾点などは使用者自らが解決すべきものである"、という姿勢が鮮明にされています。さらにいえば、優秀な人材を多数抱えているMicrosoftといえども、WinDbgの魅力と正しい使い方を外部に説明できる人はそれほど多くはありません。
"公開されているWinDbg関連情報は矛盾や試行錯誤も同時に含み、矛盾点などは使用者自らが解決すべきものである"。これは一見冷淡そうに思える現実ですが、特に、Windows製品を業務で使用している場合、ある程度のシステム知識が要求されることを意味します(つまり、自己責任)。運用中に突如発生した問題の深刻度レベルが一定の水準を超えると、通常、サポートは有料となり、解決するまでにはそれなりの時間も掛かります。おそらく、このような運用上の問題を解決するための投資(予算、時間、そして、人材育成)は、Windowsに限った話ではないでしょう。WinDbgは無料でダウンロードできる高等ツールです。これは確かですが、その利用はあくまでも自己責任であり、利用技術の習得には研究時間と資本投資が必要です。
前へ |
Windowsセキュリティセミナー |
次へ
Copyright©豊田孝 2004-
2009
本日は2009-01-06です。