无法找到指定的模块0x8007007E

时间:2010-01-14 17:38:11

标签: c# .net c++ windows visual-studio

当我单步执行代码时,在Form的构造函数中,调用以相同形式声明的方法。在我可以进入该方法之前,我得到一个System.IO.FileNotFoundException,并显示消息“无法找到指定的模块。(HRESULT异常:0x8007007E)”。我尝试输入的成员方法被声明为不安全,因为它处理的是非托管C ++代码,但就像我说的那样,我无法进入该方法。

因为它听起来像DLL依赖问题,所以我运行了Dependency Walker。依赖性walker仅在SHLWAPI.DLL下显示MPR.DLL的问题。问题方法是WNetRestoreConnectionA,我从不打电话。依赖性walker FAQ表明这不是问题http://dependencywalker.com/faq.html。此外,这不是一个Web应用程序或任何东西。不幸的是我被VS2005困住了。

出现此问题的可能原因是什么?关于我可能缺少什么或如何调试此问题的任何想法?

2 个答案:

答案 0 :(得分:15)

当.Net运行时JIT处理您要进入的方法时发生错误,因为它找不到该方法使用的类型之一。

您不能介入的方法到底是做什么的,以及它使用的是什么类型/方法?

答案 1 :(得分:15)

您是在分析模式下运行依赖步行器,还是仅运行静态分析?我认为,分析模式是您需要的。但我相信有更好的解决方案。

您可以尝试SysInternals ProcMon。这将允许您查看它至少尝试加载的文件,并从那里您可以找出问题所在。

我的建议是将其启动,然后关闭日志记录。到达异常即将发生的位置,重新启用日志记录,在调试器中跳过,以便生成错误,然后再次禁用日志记录。这将只留下少量的日志来处理,否则它会很快变得非常笨拙。