Вопрос

Есть ли способ поставить точку останова на любую функцию в Visual Studio, вроде как bm kernel32!LoadLib* В WINDBG?

Я знаю, что один из способов - сломать на запуск приложения, найдите нужный адрес DLL-нагрузки, затем добавьте смещение на обязательную функцию, которую вы можете получить, зависит и создать точку останова на адресе. Но это действительно медленно, и переходит на WINDBG и назад также довольно раздражает.

Может быть, есть лучший способ?

Это было полезно?

Решение

Перейдите к «Отладкам / новую точку останова / разрыв в функции ...» и вставьте имя функции.

Для API, это может быть сложно, как имя функции, как видно отладчик, отличается от его реального имени.
Примеры:

{,,kernel32.dll}_CreateProcessW@40
{,,user32.dll}_NtUserLockWindowUpdate@4

Смотрите этот пост блога, чтобы найти правильное имя: Установка Visual Studio ProkePoint в функции API Win32 в User32.dll

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top