从COM接口暴露的api上的断点

从COM接口暴露的api上的断点,com,windbg,breakpoints,Com,Windbg,Breakpoints,假设这是一个接口 interface Ifoo { HRESULT foo(); }; 它是二进制dll的一部分。我没有这个的源代码 我可以使用Windbg在从这个二进制dll的接口Ifoo公开的foo()API上设置断点吗 我知道我们可以使用windbg在二进制dll上设置断点,但使用COM我不确定。无论您是否使用COM,都不能在接口上设置断点:接口从未执行过,因此无法在接口上“中断” 但是,如果您知道Ifoo是由CFoo实现的,那么当然可以在CFoo::foo上设置断点 谢谢你指出,

假设这是一个接口

interface Ifoo
{
   HRESULT foo();
};
它是二进制dll的一部分。我没有这个的源代码

我可以使用Windbg在从这个二进制dll的接口Ifoo公开的foo()API上设置断点吗


我知道我们可以使用windbg在二进制dll上设置断点,但使用COM我不确定。

无论您是否使用COM,都不能在接口上设置断点:接口从未执行过,因此无法在接口上“中断”


但是,如果您知道Ifoo是由CFoo实现的,那么当然可以在CFoo::foo上设置断点

谢谢你指出,我实际上是指在foo的实现上设置断点

所以我发现了。在我的例子中,我想在一个windows系统dll上设置断点

所以我在Windbg上运行命令作为

> x  dllname*!foo*
它给了我一个名称与dllname匹配的dlls中的foo实现列表

然后使用这个地址,我设置了断点

bp 7331122
您可以使用命令查看设置的断点

 >bl
 >bl