查找对不存在的 DLL 函数的调用



我们其中一个产品的Windows版本与Qt v597中的多个DLL捆绑在一起。 我们的一个客户遇到问题,显示一个错误框,指出尝试访问libxml2.dll中的函数xmlXPtrEval((失败(Qt的DLL(失败。 事实上,与Qt v597 DLL捆绑在一起的libxml2.dll没有这个名称的函数。

据我所知,错误的调用是动态的(即,查找函数的尝试是在运行时完成的(,并且在我们的应用程序外部,因为libxml2.dll不是我们的应用程序所依赖的DLL。

有没有办法找出是什么让这个错误的电话? 我假设调用是由某个地方的 DLL、Qt 或其他地方进行的,但哪一个呢?

可能是安装钩子来捕获函数调用?如果是动态调用,则可以从 LoadLibrary 执行并解析。如果您无法更改 dll/app,您也可以使用注入。

最新更新