简而言之:我想监视从应用程序到DLL的所选调用。
我们有一个旧的VB6应用程序,我们丢失了源代码(该公司当时没有使用源代码控制..)。此应用程序使用第三方DLL。
我想在新的C ++应用程序中使用此DLL。不幸的是,DLL API只是部分记录,所以我不知道如何调用某些函数。我确实有功能签名。
由于VB6应用程序使用此DLL,我想看看它如何调用多个函数。到目前为止,我已经尝试或看过 -
答案 0 :(得分:25)
答案 1 :(得分:11)
更多Google搜索找到了我要找的内容:WinAPIOverride32。它允许编写文本文件,例如:
CustomApi.dll|void NameOfFunction(long param1, double& param2);
稍后,可以在程序内部使用这些文件来记录对NameOfFunction
的所有调用。现在我只需要弄清楚如何记录数组和结构参数。
答案 2 :(得分:3)
Visual Studio Addin 运行时流程 here:
实时运行时流程监视和记录函数调用和 运行.NET应用程序中的函数参数并显示堆栈 跟踪树。监控不需要任何工具或源代码。
答案 3 :(得分:0)
如果你只是想看看DLL的函数接口,你可以试试“依赖”(https://lucasg.github.io/Dependencies/)。这是作为 OpenSource 的 DependencyWalker 的一个很好的翻版。
这仅允许您查看 DLL 的依赖项,以及相应的函数名称(但不是调用结构)。不幸的是,我不相信它会告诉您调用 DLL/EXE 正在使用 DLL 中的哪些特定函数。