如何判断是否从VB6 exe调用DLL函数?

时间:2010-05-17 14:58:30

标签: dll vb6 dependencies

我有一个旧的VB6应用程序,我不确定使用哪个代码来编译它。源代码的一个版本在kernel32.dll中调用Sleep。

有没有办法找出exe是否在DLL中调用特定的函数?我可以看到kernel32.dll是通过使用“Dependency Walker”工具链接的,但这似乎并没有告诉我从exe调用了一个特定的函数。

3 个答案:

答案 0 :(得分:2)

您可以使用Process Explorer来查看exe在运行时调用哪些DLL函数。

答案 1 :(得分:1)

如果可以在调试器中运行程序,则始终可以在interrest函数的地址处设置断点。当然,那么你必须触发对导入函数的实际调用。

您也可以尝试在反汇编程序中加载程序并查看是否有任何对它的引用,但是您将不会捕获任何动态加载的函数。要查看的一个工具是PE Explorer。我不确定这是否适用于VB6程序,因为dll导入代码可能动态加载函数(使用GetProcAddress等)。

答案 2 :(得分:0)

在Dependency Walker中,您可以使用Profile命令 这允许您跟踪并查看调用的方法。