问题描述
|
是否有某种类似于“ bm Module!Symbol”的方法可以在windbg中的COM类的特定方法上设置断点?看起来COM DLL仅导出四个符号(DllCanUnloadNow,DllGetClassObject,DllRegisterServer和DllUnregisterServer),因此通常的“ bm”方法行不通。我假设还有其他方法可以完成此操作,但是过去一个小时左右我一直找不到它。
解决方法
您应该能够使用bu(未解决的断点)。我相信语法如下,但是我的记忆可能生锈了:
bu MyDll!MyClass::MyMethod
,即使未导出,COM方法仍然是常规符号。假设您有MyFoo.dll
,其中包含MyBar::Baz()
方法。在WinDbg中,如果已加载符号,则可以使用以下方法检查符号:
X MyFoo!*Baz*
00007ffa`204cbb00 MyFoo!MyBar::Baz (void)
您可以使用设置断点
bp MyFoo!MyBar::Baz