Visual Studioにも付属しているDependency Walkerであるが、結構便利であるのでどこかないかな?と探していたところどうやらフリーで公開されているようだったのでご紹介。
ちなみに配布元はこちら
http://www.dependencywalker.com/
Visual Studio 2005付属のもののバージョンが2.1.3790.0に対してこちらでは今日現在で2.2.6000というのが配布されている。
概要
さてこのDependency Walkerであるが何をするソフトかというと、本家の文章を引用すると
Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules.
ということで、Windowsの32/64bitのモジュール(実行ファイルなど)に対して依存するモジュールを調べられるというものである。ソフトウェアを配布する作者としてそしてユーザーとして、実行ファイルを起動するのに足りないモジュールなどを調べるときに便利である。
たとえばSoundEngineに対して行ってみると、、、
このような感じで使用しているモジュールが列挙される。また、モジュールで使用している関数なども調べることができる(SoundEngineをなるべく高速化させるためにたまに必要ではないモジュールや関数の整理などを行うための判断材料にしたり)。
また、プロファイリングを使用することで実行時に実際にリンクして使用するDLLも調べることができる。
起動はするが、完全動作しない場合に必要なDLLを探す場合にもよい方法かと。
日本語パス
さてこのDependency Walkerであるが、ひとつ弱点があって日本語のパスを使えないという問題がある。これはどう問題かというと「デスクトップ」以下にある実行ファイルに対していちいち移動して使用しないといけないということである。
Googleで検索してみるとそのようなことで困っている方もいるようで、さらには日本語化パッチを公開している方もいた。Dependency Walkerの文字化け対策から対策方法の詳細や、配布しているパッチを手に入れることができる。
これを使うことでこのようにデスクトップの実行ファイルをドラッグアンドドロップして簡単に解析できる。
ちなみにWindows XP x64を使って使用したため一部64bitのファイル(syswow64以下)もあるが問題なく解析されている。