Visual Studio在调试时将不相关的DLL加载到我的项目中

时间:2014-05-21 06:36:15

标签: c++ visual-studio-2012 dll wtl norton

我的系统上安装了Norton 360。我在调试模式下运行这个WTL项目(VS2012),在输出窗口中我看到以下行

  

' CheckWTL.exe' (Win32):已加载' C:\ ProgramFiles(x86)\ Norton360 \ NortonData \ 21.1.0.18 \ Definitions \ BASHDefs \ 20140510.001 \ UMEngx86.dll'。   无法找到或打开PDB文件。

为什么在我的应用中加载了Norton dll。该应用仍然是一个基本的骨架,我还没有添加任何代码。

有任何解释吗?

2 个答案:

答案 0 :(得分:2)

根据this thread,诺顿DLL似乎被注入到系统上启动的每个进程中。

答案 1 :(得分:2)

您的防病毒软件可能正在利用Windows中的AppInit_DLL功能,该功能允许将DLL加载到每个用户进程中,文档如下:http://msdn.microsoft.com/en-us/library/windows/desktop/dd744762(v=vs.85).aspx

如果它正在使用AppInit功能,您可以使用Autoruns(可从MSDN:http://msdn.microsoft.com/en-us/library/bb963902.aspx获得)等工具删除条目,但是您的AV软件可能会检测到此情况并强制重新安装。我建议根据赛门铁克的说明禁用您的AV软件(或至少是其实时保护部分),以避免将来出现这种情况。