今回はアプリケーション開発者向けのツールを紹介します。自身で開発したアプリケーションを他のPCでプログラムを起動すると「dllがありません」というエラーが表示されて起動できない場合があります。そのような場合に役立つのがDependency Walkerです。Dependency Walkerはexe形式のプログラムやdllファイルの依存関係を調べることができるアプリです。
Dependency Walkerの使い方
依存関係を調べる
サイトトップの下にスクロールするとダウンロードのリンクがあります。32bit版(x86)、64bit版(x64)、Itanium版(IA64)が用意されていますので、お使いのOSに応じたバージョンのものをダウンロードしましょう。
Zipファイルがダウンロードできますので、解凍後、「depends.exe」をダブルクリックして起動します。
以下の画面が表示されます。左のフォルダアイコンをクリックします。
調べたいexeファイル、またはdllファイルを選択します。今回は「notepad.exe(メモ帳)」を選択します。
しばらく時間がかかった後、以下の解析結果が表示されます。左上のツリーでは、exeファイルの依存関係として、内部でロードするdllが表示されます。PC上に存在しない場合はアイコンが?マーク、後からロードされるdllについては砂時計マークで表示されます。また、ツリーの右側では選択したDLLの関数一覧が表示されます。
dllファイルが存在するはずなのに「?」マークとなる場合もあります。その場合は、検索パスを追加しましょう。「Options」メニューの「Configure Module Search Order」をクリックします。
検索するフォルダ一覧が表示されます。下側にdllの存在するパスを指定して「Add Directory」ボタンを押すことで検索対象パスを追加できます。
検索結果を保存する
また、「File」メニューの「Save As」より依存関係を保存することができます。
保存場所およびファイル名を指定して「保存」ボタンで保存できます。既定ではDependency Walkerの独自形式であるdwi形式で保存されます。dwi形式で保存した場合は、再度、Dependency Walkerで開くことができます。また、「ファイルの種類」よりテキストファイルなどに変換して出すこともできます。
テキストファイルにして保存した場合は以下のようになります。基本情報の他、依存するファイル名がすべて出力されますので、検索したい場合に便利です。
以上がDependency Walkerの使い方でした。Dependency Walkerはアプリケーション開発者の方がインストーラを作成する際に、同梱するDLLを調べるのにも役に立ちます。今回「notepad.exe」の関連DLLはOSにプリインストールされているはずですので含めなくても問題ありませんが、自身で作成したDLLなどがない場合は、インストーラに含めるようにしましょう。その他、プログラムが起動しない場合の調査や、DLLで定義されている関数情報を調べるのにも役立ちますので、アプリケーション開発者の方はぜひ入れておくとよいでしょう!
Dependency Walkerのサイト情報
URL :http://www.dependencywalker.com/
Dependency Walkerの評判
レビューを書く | |
まだレビューはありません。最初のレビューを書いてみませんか?