プログラムやDLLの依存関係を調べる「Dependency Walker」

プログラムやDLLの依存関係を調べる「Dependency Walker」今回はアプリケーション開発者向けのツールを紹介します。自身で開発したアプリケーションを他のPCでプログラムを起動すると「dllがありません」というエラーが表示されて起動できない場合があります。そのような場合に役立つのがDependency Walkerです。Dependency Walkerはexe形式のプログラムやdllファイルの依存関係を調べることができるアプリです。

Dependency Walkerの使い方

依存関係を調べる

サイトトップの下にスクロールするとダウンロードのリンクがあります。32bit版(x86)、64bit版(x64)、Itanium版(IA64)が用意されていますので、お使いのOSに応じたバージョンのものをダウンロードしましょう。「Dependency Walker」のサイトのダウンロード画面

Zipファイルがダウンロードできますので、解凍後、「depends.exe」をダブルクリックして起動します。「Dependency Walker」のZipファイルを解凍した後の画面

以下の画面が表示されます。左のフォルダアイコンをクリックします。「Dependency Walker」起動後の画面

調べたいexeファイル、またはdllファイルを選択します。今回は「notepad.exe(メモ帳)」を選択します。「Dependency Walker」で開くアイコンをクリックした後のファイル選択画面

しばらく時間がかかった後、以下の解析結果が表示されます。左上のツリーでは、exeファイルの依存関係として、内部でロードするdllが表示されます。PC上に存在しない場合はアイコンが?マーク、後からロードされるdllについては砂時計マークで表示されます。また、ツリーの右側では選択したDLLの関数一覧が表示されます。「Dependency Walker」でファイルを解析した後の画面

dllファイルが存在するはずなのに「?」マークとなる場合もあります。その場合は、検索パスを追加しましょう。「Options」メニューの「Configure Module Search Order」をクリックします。「Dependency Walker」のOptionsメニューを表示した状態の画面

検索するフォルダ一覧が表示されます。下側にdllの存在するパスを指定して「Add Directory」ボタンを押すことで検索対象パスを追加できます。「Dependency Walker」で「Dependency Walker」を選択した後の画面

検索結果を保存する

また、「File」メニューの「Save As」より依存関係を保存することができます。「Dependency Walker」で「File」メニューを開いた状態の画面

保存場所およびファイル名を指定して「保存」ボタンで保存できます。既定ではDependency Walkerの独自形式であるdwi形式で保存されます。dwi形式で保存した場合は、再度、Dependency Walkerで開くことができます。また、「ファイルの種類」よりテキストファイルなどに変換して出すこともできます。「Dependency Walker」で「Save As」を選択した後のファイル保存画面

テキストファイルにして保存した場合は以下のようになります。基本情報の他、依存するファイル名がすべて出力されますので、検索したい場合に便利です。メモ帳で「Dependency Walker」でテキスト保存したファイルを開いた後の画面

以上がDependency Walkerの使い方でした。Dependency Walkerはアプリケーション開発者の方がインストーラを作成する際に、同梱するDLLを調べるのにも役に立ちます。今回「notepad.exe」の関連DLLはOSにプリインストールされているはずですので含めなくても問題ありませんが、自身で作成したDLLなどがない場合は、インストーラに含めるようにしましょう。その他、プログラムが起動しない場合の調査や、DLLで定義されている関数情報を調べるのにも役立ちますので、アプリケーション開発者の方はぜひ入れておくとよいでしょう!

Dependency Walkerのサイト情報

URL       :http://www.dependencywalker.com/

Dependency Walkerの評判

レビューを書く
1
2
3
4
5
送信
     
キャンセル

まだレビューはありません。最初のレビューを書いてみませんか?

レビューを書く

Dependency Walker
平均評価:  
 0 件
タイトルとURLをコピーしました