windows - Indstil breakpoint på COM klasse metode i windbg

Indlæg af Hanne Mølgaard Plasc

Problem



Er der nogen måde, der ligner 'bm Module! Symbol' for at indstille et breakpoint på en bestemt metode for en COM-klasse i windbg? Det ser ud til, at en COM DLL kun eksporterer fire symboler (DllCanUnloadNow, DllGetClassObject, DllRegisterServer og DllUnregisterServer), så den sædvanlige 'bm' -tilgang virker ikke. Jeg antager, at der er en anden måde at gøre det på, men jeg har tilflugtssted 'har været i stand til at finde den i den sidste time eller deromkring.

Bedste reference


Du skal kunne bruge bu (uopløst pause). Jeg tror, ​​at syntaksen er som følger, men min hukommelse kan være rusten:


bu MyDll!MyClass::MyMethod

Andre referencer 1


COM-metoder er stadig almindelige symboler, selvom de ikke eksporteres. Sig, at du har MyFoo.dll, som indeholder en MyBar::Baz() metode. I WinDbg, hvis du har indlæst symboler, kan du X amine symbolerne med:


X MyFoo!*Baz*
00007ffa`204cbb00 MyFoo!MyBar::Baz (void)


Du kan sætte et breakpoint på det med


bp MyFoo!MyBar::Baz