gpt4 book ai didi

com - 如何将 [D]COM 调用记录到模块中?

转载 作者:行者123 更新时间:2023-12-05 04:16:34 25 4
gpt4 key购买 nike

有没有一种方法可以监视和记录带有参数的 COM 调用,将其放入特定的 EXE/DLL 模块中,而无需向模块本身显式添加日志记录功能?我正在考虑如何在 Spy++ 中跟踪 Windows 消息,但对于 COM。

动机是为了诊断和自动测试目的而记录调用 - 例如单击客户端 PC 窗口上的按钮,监控发送到服务器模块的 COM 调用,然后在不需要客户端 PC 的情况下“重播”这些调用。

如果存在执行此操作的工具,那就太好了。如果没有,是否可以写一些东西?如果可以,如何写?

最佳答案

COM 方法的调用者只需按照约定的约定调用一个函数。参数等,调用者和被调用者之间没有中间层,除非代理/ stub 对正在编码调用。即使在后一种情况下,也有标准的方法来 Hook 调用以进行日志记录,您无需进行任何特定的准备就可以做到这一点。总而言之,您需要自行跟踪调用并进行诊断。可以在每个感兴趣的方法的序言中直接登录,或者您可以将对象/接口(interface)包装到自定义的中间层中,该中间层跟踪调用并将其进一步传递给预期的被调用者(例如描述的 here)。

关于com - 如何将 [D]COM 调用记录到模块中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27124628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com