22


5

指定されたモジュールが見つかりませんでした0x8007007E

コードをステップ実行するときにフォームのコンストラクター内で、まったく同じフォームで宣言されたメソッドが呼び出されます。 メソッド内にステップインする前に、「指定されたモジュールが見つかりませんでした。メッセージとともにSystem.IO.FileNotFoundExceptionが発生します。 (HRESULTからの例外:0x8007007E)」。 私が入力しようとしているメンバーメソッドは、アンマネージC ++コードを処理するため、安全でないと宣言されていますが、前述したように、とにかくメソッドにステップインすることはできません。

DLL依存関係の問題のように聞こえるので、Dependency Walkerを実行しました。 依存関係ウォーカーは、SHLWAPI.DLLの下にあるMPR.DLLの問題のみを表示します。 問題のメソッドはWNetRestoreConnectionAで、私は決して呼び出しません。 依存関係ウォーカーのFAQでは、これは問題ではないことが示唆されていますhttp://dependencywalker.com/faq.html。 また、これはWebアプリケーションなどではありません。 残念ながらVS2005に固執しています。

この問題が発生する可能性のある理由は何ですか? 不足している可能性のあるアイデア、またはこの問題をデバッグする方法についてのアイデアはありますか?

2 Answer


15


エラーは、.NetランタイムがステップインしようとしているメソッドをJITするときに発生します。これは、メソッドで使用されるタイプの1つが見つからなかったためです。

ステップインできないメソッドは正確に何をし、どのタイプ/メソッドを使用しますか?


15


依存関係ウォーカーをプロファイリングモードで実行していますか、それとも静的分析ですか? プロファイリングモードは、これに必要なものだと思います。 しかし、私は信じているより良い解決策があります。

SysInternals ProcMonを試すことができます。 これにより、少なくともどのファイルをロードしようとしているかを確認でき、そこから問題が何であるかを把握できる場合があります。

私のアドバイスは、起動してからログをオフにすることです。 例外が発生しようとしているポイントに到達し、ロギングを再度有効にし、エラーが生成されるようにデバッガーにステップオーバーしてから、再度ロギングを無効にします。 これにより、処理するログの量が少なくなります。そうしないと、非常に手に負えないほど迅速に取得できます。