我在使用我的应用程序中的一个Dll时出现了一些问题,并且我在其上运行了依赖walker。我不知道如何阅读它,但我得到了以下结果
它是否暗示任何x86-x64不兼容?无论如何我能解决这个问题吗?
Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
答案 0 :(得分:7)
当您在64位版本的Dependency Walker中查看32位可执行文件时,通常会看到这种视图。因为Dependency Walker是64位,当它试图在DLL搜索路径上查找DLL时,它会找到64位版本。您的32位程序将在WOW64仿真器中运行并找到32位版本。
因此,您提供的屏幕截图,没有什么值得关注的。
如果您的应用程序存在依赖性问题,我建议您在Dependency Walker的配置文件模式下运行您的程序(从“配置文件”菜单项)。这将为您提供有关加载时和运行时实际发生情况的详细诊断。您在上面提供的屏幕截图来自静态分析,并且必要时,这种静态分析始终是不完整的,并且会受到不准确的影响。确保程序加载时发生的事情的唯一方法是在加载时对其进行调试。