Visual Studio Community 2013
Windows 8.1 64bit
OpenCV 3.0 beta
GPU:NVIDIA GeForce GT 540M
和英特尔核心显卡。
当我想调试OpenCV程序时,除了nvinit.dll,detoured.dll,Nvd3d9wrap.dll,nvdxgiwrap.dll之外,所有符号文件(.pdb)都已成功加载。
VS告诉我这个:' ImageWatchT.exe' (Win32):已加载' C:\ Windows \ SysWOW64 \ nvinit.dll'。通过包含/排除设置禁用加载。
' ImageWatchT.exe' (Win32):已加载' C:\ Program Files(x86)\ NVIDIA Corporation \ coprocmanager \ detoured.dll'。通过包含/排除设置禁用加载。
' ImageWatchT.exe' (Win32):已加载' C:\ Program Files(x86)\ NVIDIA Corporation \ coprocmanager \ Nvd3d9wrap.dll'。通过包含/排除设置禁用加载。
' ImageWatchT.exe' (Win32):已加载' C:\ Program Files(x86)\ NVIDIA Corporation \ coprocmanager \ nvdxgiwrap.dll'。通过包含/排除设置禁用加载。
这四个DLL显然属于Nvidia 那么,如何在没有这四个Nvidia DLL的情况下进行调试?
答案 0 :(得分:2)
您可以禁用模块的符号加载: (来自https://msdn.microsoft.com/en-us/library/4c8f14c9.aspx)
更改特定模块的符号加载行为 在“模块”窗口中,右键单击该模块。 指向“自动符号加载设置”,然后单击“始终手动加载”或“默认”。在重新启动调试会话之前,更改不会生效。
答案 1 :(得分:0)
要展开其他答案,请在 Visual Studio 2010 中执行以下操作:
您也可以在同一个上下文菜单中通过符号设置... 进行详细设置。在那里,你可以使用模块的白名单而不是黑名单,也就是说,你只能选择加载你想要的模块: