2009-06-11 52 views
0

暴露比方说thers是一个接口断点上API从COM接口

interface Ifoo 
{ 
    HRESULT foo(); 
}; 

这是一个二进制DLL的一部分。我没有这个源代码。

我可以在使用Windbg的这个二进制DLL的界面Ifoo公开的foo()API上放置一个断点吗?

我知道我们可以把二进制DLL的断点使用windbg,但使用COM我不知道。

回答

1

非常感谢您指出,我的意思是把实施foo的断点。

所以我才发现。在我的情况下,我想把断点放在Windows系统的DLL之一。

于是我就命令在WinDbg,从而

> x dllname*!foo* 

它给了我FOO实现的列表与姓名匹配的动态链接库的Dllname。

7331122 dllname!CFoo::foo 

然后使用这个地址我把断点

bp 7331122 

U可以使用命令查看设置断点

>bl 
1

无论您是否使用COM,都不能在接口上放置断点:接口永远不会执行,因此无法在接口上“断开”。

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