可以说这是一个界面
interface Ifoo
{
HRESULT foo();
};
这是二进制 dll 的一部分。我没有这个的源代码。
我可以在使用 Windbg 从这个二进制 dll 的接口 Ifoo 公开的 foo() API 上设置断点吗?
我知道我们可以使用 windbg 在二进制 dll 上设置断点,但使用 COM 我不确定。
可以说这是一个界面
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 的 dll 中的 foo 实现列表。
像
7331122 dllname!CFoo::foo
然后使用这个地址我放了断点
bp 7331122
你可以使用命令查看设置的断点
>bl