2017-02-14 24 views
1

Я пытаюсь установить точку останова на kernel32! LoadLibraryW или LoadLibraryA. Я постоянно получаю:Невозможно установить bp на LoadLibraryW

Не удалось разрешить ошибку в

Мой путь символа установлен в «kernel32 LoadLibraryW!»: SRV * https://msdl.microsoft.com/download/symbols

Любые идеи о том, как исправить это?

+0

Это странно. Он работает для меня в отладчике Visual Studio, но не в WinDBG. –

+0

Он работает для меня в WinDbg 10.0.15003.1001 (оба x86 и x64) в Windows 7. Какая версия и ОС у вас есть? Вы уверены, что работает интернет-соединение? Попробуйте открыть https://msdl.microsoft.com/download/symbols/pingme.txt в своем браузере и использовать сетевые инструменты, чтобы узнать, возвращает ли он HTTP 200. Попробуйте '! Sym noisy' и' ld * '. Что выводит вывод 'lm m kernel * '? Попробуйте использовать HTTP только в том случае, если HTTPS не работает в пути символа, –

+1

Вы можете найти его с помощью x wildcardasteriskhere! Load * w и copypaste. Символ типа bu/bp paste «cond при необходимости» – blabb

ответ

0

Вместо этого установите контрольную точку в kernelbase.dll.

0

Я считаю, что WinDbg использует имя символа, а не имя экспортируемой функции при разрешении адреса. Это вызывает проблемы для некоторых функций, которые перенаправляются на ntdll.dll и kernelbase.dll.

Иногда вы можете добавить «Stub» к имени функции при настройке точки останова, а иногда вам просто нужно знать, что функция фактически реализована на DLL более низкого уровня и задает точку останова на функции в этом .dll , Вы также можете найти его с завершением табуляции и именем, как *!functionname*.