DLLやOCXなどの依存関係をチェックするためのツールを探していて、MicrosoftのフリーソフトであるDependency Walker(depends.exe)を知る。Visual Studio 6にも付属していたが、Webから最新版をダウンロードできます。
DLLやOCXなどのシステムモジュールの依存関係をツリー状に表示でき、モジュールの読み込みや実行時のエラーを追跡するのに役に立つ。デバッグしたいアプリケーションを読み込んで、F7キーもしくはメニューから「Profile」→「Start Profiling」を選択。引数を指定したい場合はProgram Argumentsに引数を追加して、必要なオプションにチェックを入れて実行すれば、依存関係などの情報が表示される。
Sysinternalsでも、数々のデバッグに役立つツールが公開されている。現在はMicrosoftに買収されているので、こちらもMicrosoft提供のツールだ。VistaやWindows Server 2003などで実行する場合は、最新のファイルをダウンロードして使用するのが推奨です。ツールをまとめてダウンロードする場合は、Syinternals Suiteをダウンロードすると良い。
特に、ファイルシステムへのアクセスをリアルタイムに表示するFilemonや、アプリケーションがアクセスするレジストリをリアルタイムに表示するRegmonや、プロセスの親子関係を表示したり、モジュールやハンドルの状況表示などをまとめたProcess Explorerなどが便利。
Dependency Walkerの実行画面 Dependency Walker http://www.dependencywalker.com/ Mozilla-Japan.org - Dependency Walker (depends.exe) の使用方法 http://www.mozilla-japan.org/quality/help/dependency-walker.html [SMS] Dependency Walker for Win32 (Depends.exe) について http://support.microsoft.com/kb/198707/ja Sysinternals Utilities http://www.microsoft.com/technet/sysinternals/default.mspx @IT - Windows管理者必携、Sysinternalsでシステムを把握する http://www.atmarkit.co.jp/fsecurity/column/ueno/43.html
リテール版でもOEM版でも、Windows Vista Home系のエディションをVMwareなどの仮想環境にインストールすることは、ライセンス契約で認められていない。Vista Business/Vista Ultimate等ではリテール版でもOEM版でも可能だそうだ。回避する方法としては、MSDNサブスクリプションのライセンスでVistaを取得した場合は、開発/テスト目的でのみ使用することができる。個人的にはMSDNに入っているので、ライセンス的に問題なく利用できるんですが。
仮想化が当たり前になれば、環境のスナップショットを取っておいて不意のクラッシュに備えたり、別にLinuxでもいいわけで。VMware PlayerとUbuntuのVMwareイメージを組み合わせてとか、フリーOSであればこだわる必要性が少なくなるのが意味を持つ。プロプライエタリなOSであれば、仮想マシンごとに(包括だとしても)ライセンス料がかかるでしょうしねー。
CNET News - Vista仮想化のライセンス条件緩和が中止--MSが方向転換した背景 http://japan.cnet.com/special/ent/story/0,2000056934,20352073,00.htm CNET News - MSのVista仮想化をめぐる方針変更--その理由とは http://japan.cnet.com/news/ent/story/0,2000056022,20351462,00.htm TechTarget - Windows Vistaの仮想化――ライセンス契約での扱いは? http://techtarget.itmedia.co.jp/tt/news/0705/11/news01.html