.NET应用程序上的Dependency Walker:FlsAlloc

时间:2010-01-14 19:07:02

标签: .net visual-studio dependency-walker

我试图在依赖walker中分析几个.NET可执行文件,并总是得到这样的东西:

GetProcAddress(0x7C800000 [KERNEL32.DLL],“FlsAlloc”)从地址0x79006079的“MSCOREE.DLL”调用并返回0xFFBADD11。

我尝试制作一个新的Windows窗体项目VS2005,除了构建它之外什么也没做。依赖性walker仍然会给出相同的错误。这是否意味着不再可能分析.Net应用程序,或者我错过了什么?

2 个答案:

答案 0 :(得分:4)

Dependency walker只能分析非托管程序。

答案 1 :(得分:1)

遇到同样的问题,但常见问题解答说:

Dependency Walker是否可以使用COM,Visual Basic或.NET模块?

是。无论使用何种语言开发,Dependency Walker都可以与任何32位或64位Windows模块配合使用。但是,许多语言都有自己的方式来指定模块之间的依赖关系。例如,COM模块可能在注册表中具有嵌入式类型库和注册信息,.NET模块可能使用.NET程序集。这些技术都是作为核心Windows API之上的层实现的。最后,这些层仍然需要调用LoadLibrary和GetProcAddress等核心Windows函数来完成实际工作。正是在这个核心层面,Dependency Walker才能理解正在发生的事情。因此,虽然Dependency Walker可能无法理解应用程序的所有语言特定复杂性,但它仍然能够在核心Windows API级别跟踪所有模块活动。