Поставить точку останова на именованную функцию - PullRequest
9 голосов
/ 19 октября 2010

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

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

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

1 Ответ

14 голосов
/ 19 октября 2010

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...