Нежелательная точка останова в ntdll.dll!_LdrpSnapThunk@36() + 0xf5 байт
Я отлаживаю DLL-надстройку Outlook в следующей среде: Windows 7 x64 Office 2013 x86, работающая по принципу "нажми и работай", только Visual Studio 2010 Native (C++)
"Показывать моментальные снимки загрузчика" отключен на системном уровне и для outlook.exe в реестре как x86, так и x64, и я убедился, что нигде не существует переопределенного значения реестра "GlobalFlag".
Единственное значение "GlobalFlag" в системе установлено в 0x00000400 (только FLG_POOL_ENABLE_TAGGING) и находится в CurrentControlSet.
Когда я присоединяю отладчик VS к OUTLOOK.EXE (моя DLL уже загружена), я могу отладить его, как ожидается (загрузка символов и т. Д.), Но в случайное время я достигаю этой точки останова, независимо от того, что я делаю.
Зачем мне получать точки останова в LdrpSnapThunk? Я не смог найти никакой опции, чтобы даже установить / включить такие точки останова (оснастка загрузчика должна печатать только строку отладки, а не вызывать точку останова, AFAIK).
Это действительно раздражает - я получаю эту точку останова, которая останавливает меня в случайное время при отладке.
Спасибо!
1 ответ
Приведенный выше комментарий Ганса помог мне решить эту проблему. Для дальнейшего использования - вам необходимо отключить "Экспортировать фильтрацию доступа к таблице адресов" (EAF) для OUTLOOK.EXE в окне "Конфигурация приложения" в EMET.