Установите точку останова на метод класса COM в windbg - PullRequest
2 голосов
/ 13 апреля 2011

Есть ли какой-нибудь способ, аналогичный "bm Module! Symbol", установить точку останова для определенного метода класса COM в windbg?Похоже, что COM DLL экспортирует только четыре символа (DllCanUnloadNow, DllGetClassObject, DllRegisterServer и DllUnregisterServer), поэтому обычный подход «bm» не работает.Я предполагаю, что есть какой-то другой способ сделать это, но я не смог найти его за последний час или около того.

Ответы [ 2 ]

2 голосов
/ 13 апреля 2011

Вы должны быть в состоянии использовать bu (неразрешенная точка останова).Я полагаю, что синтаксис следующий, но моя память может быть ржавой:

bu MyDll!MyClass::MyMethod
0 голосов
/ 28 сентября 2017

COM-методы все еще являются обычными символами, даже если они не экспортируются. Скажем, у вас есть MyFoo.dll, который содержит MyBar::Baz() метод. В WinDbg, если у вас есть загруженные символы, вы можете e X аминить символы с помощью:

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

Вы можете установить точку останова с помощью

bp MyFoo!MyBar::Baz
...