暴露比方說thers是一個接口斷點上API從COM接口
interface Ifoo
{
HRESULT foo();
};
這是一個二進制DLL的一部分。我沒有這個源代碼。
我可以在使用Windbg的這個二進制DLL的界面Ifoo公開的foo()API上放置一個斷點嗎?
我知道我們可以把二進制DLL的斷點使用windbg,但使用COM我不知道。
暴露比方說thers是一個接口斷點上API從COM接口
interface Ifoo
{
HRESULT foo();
};
這是一個二進制DLL的一部分。我沒有這個源代碼。
我可以在使用Windbg的這個二進制DLL的界面Ifoo公開的foo()API上放置一個斷點嗎?
我知道我們可以把二進制DLL的斷點使用windbg,但使用COM我不知道。
非常感謝您指出,我的意思是把實施foo的斷點。
所以我才發現。在我的情況下,我想把斷點放在Windows系統的DLL之一。
於是我就命令在WinDbg,從而
> x dllname*!foo*
它給了我FOO實現的列表與姓名匹配的動態鏈接庫的Dllname。
像
7331122 dllname!CFoo::foo
然後使用這個地址我把斷點
bp 7331122
U可以使用命令查看設置斷點
>bl
無論您是否使用COM,都不能在接口上放置斷點:接口永遠不會執行,因此無法在接口上「斷開」。
但是,如果您知道Ifoo由CFoo實現,您當然可以在CFoo :: foo上設置斷點。