как добавить точку останова, если метод не связан - PullRequest
0 голосов
/ 04 января 2012

У меня есть приложение MyApp.exe. Это приложение использует сборку MyAssembly1.dll, которая сама по себе относится к MyAssembly2.dll. В пределах MyAssembly2 у меня есть класс MyClass, у которого есть метод MyMethod. Этот метод вызывается после прохождения пользователем нескольких диалогов и т. Д.

Если я запускаю это приложение из Windbg, можно ли как-нибудь установить точку останова для этого метода? Проблема в том, что я не знаю, когда MyAssembly2 загружается CLR и этот метод получить JITted?

Ответы [ 2 ]

4 голосов
/ 04 января 2012

Документация по msdn для BPMD гласит:

Если указанный модуль и метод не были загружены, эта команда ожидает уведомления о том, что модуль был загружен и простовремя (JIT), скомпилированное до создания точки останова.

Так что вы должны быть в состоянии! Bpmd MyAssembly2.dll MyClass.MyMethod, даже если MyAssembly2.dll еще не загружен, а при загрузке отладчик установит точку останова.

1 голос
/ 14 марта 2012

Вы также можете запустить! Sosex.mbm или, если вы знаете исходный файл / номер строки,! Sosex.mbp.Вы даже можете запустить эти команды в начальной точке останова.Нет необходимости ждать загрузки CLR.SOSEX обработает необходимые уведомления, чтобы установить точку останова на соединенном коде, когда он станет доступным.

SOSEX свободен в http://www.stevestechspot.com

...