有没有什么办法,类似于“bm Module!Symbol”来设置windbg中COM类的特定方法的断点? 它看起来像一个COM DLL只能导出四个符号(DllCanUnloadNow,DllGetClassObject,DllRegisterServer和DllUnregisterServer),所以通常的“bm”方法不起作用。 我假设还有其他方法可以做到,但在过去的一个多小时里我一直无法find它。
你应该可以使用bu(未解决的断点)。 我相信语法如下,但我的记忆可能是生锈的:
bu MyDll!MyClass::MyMethod
COM方法仍然是常规符号,即使它们不被导出。 假设你有MyFoo.dll
包含一个MyBar::Baz()
方法。 在WinDbg中,如果你有符号载入,你可以使用X胺符号:
X MyFoo!*Baz* 00007ffa`204cbb00 MyFoo!MyBar::Baz (void)
你可以用它来设置一个断点
bp MyFoo!MyBar::Baz