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, чтобы избежать этого в будущем.