Visual Studio загружает несвязанные библиотеки DLL в мой проект при отладке

В моей системе установлен Norton 360. Я запускаю этот проект WTL (VS2012) в режиме отладки, и в окне вывода я вижу следующую строку

'CheckWTL.exe' (Win32): загружен 'C:\ProgramFiles(x86)\Norton360\NortonData\21.1.0.18\Definitions\BASHDefs\20140510.001\UMEngx86.dll'. Не удается найти или открыть файл PDB.

Почему в моем приложении загружена DLL-библиотека Norton. Приложение по-прежнему является базовым скелетом, и я не добавил ни одного кода.

Есть объяснения?

2 ответа

Согласно этой теме, Norton DLL, похоже, внедряется в каждый процесс, который запускается в системе.

Ваше антивирусное программное обеспечение, вероятно, использует преимущества AppInit_DLL функция в Windows, позволяющая загружать библиотеки DLL в каждый пользовательский процесс, документация здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/dd744762%28v=vs.85%29.aspx

Если он использует функцию AppInit, вы можете использовать такой инструмент, как Autoruns (доступный на MSDN: http://msdn.microsoft.com/en-us/library/bb963902.aspx), чтобы удалить запись, однако ваше AV-программное обеспечение может обнаружить это и принудительно переустановите себя. Я предлагаю отключить ваше AV-программное обеспечение (или, по крайней мере, часть его защиты в режиме реального времени) в соответствии с инструкциями Symantec, чтобы избежать этого в будущем.

Другие вопросы по тегам