代码之家  ›  专栏  ›  技术社区  ›  Butter

如何在没有Nvidia DLL的情况下调试OpenCV程序?

  •  0
  • Butter  · 技术社区  · 10 年前

    Visual Studio社区2013
    Windows 8.1 64位
    OpenCV 3.0测试版
    GPU:NVIDIA GeForce GT 540M
    以及Intel核心图形。

    当我想调试OpenCV程序时,除了nvinit.dll、detoured.dll、Nvd3d9wrap.dll、nvdxgiwrap.dll之外,所有加载的符号文件(.pdb)都成功。

    VS告诉我:

    “ImageWatchT.exe”(Win32):已加载“C:\Windows\SysWOW64\ninit.dll”。“包含/排除”设置禁用了加载。
    “ImageWatchT.exe”(Win32):已加载“C:\Program Files(x86)\NVIDIA Corporation\corpocmanager\detected.dll”。“包含/排除”设置禁用加载。
    “ImageWatchT.exe”(Win32):已加载“C:\Program Files(x86)\NVIDIA Corporation\corpocmanager\Nvd3d9wrap.dll”。“包含/排除”设置禁用加载。
    “ImageWatchT.exe”(Win32):已加载“C:\Program Files(x86)\NVIDIA Corporation\corpocmanager\nvdxgiwrap.dll”。“包含/排除”设置禁用加载。

    这四个DLL显然属于英伟达。
    那么,如何在没有这四个Nvidia DLL的情况下进行调试?

    2 回复  |  直到 10 年前
        1
  •  2
  •   Joe Chakra    10 年前

    您可以禁用模块的符号加载,因此: (发件人 https://msdn.microsoft.com/en-us/library/4c8f14c9.aspx )

    更改特定模块的符号加载行为 在模块窗口中,右键单击模块。 指向“自动符号加载设置”,然后单击“始终手动加载”或“默认值”。在重新启动调试会话之前,更改不会生效。

        2
  •  0
  •   TomáÅ¡ Zato    8 年前

    扩展另一个答案,在 Visual Studio 2010 ,请执行以下操作:

    • 切换到底部的“模块”选项卡
      image description
    • 选择要跳过的任何模块
    • 在上下文菜单中,选择 自动加载设置-始终手动加载

    image description

    您还可以通过 符号设置。。。 在同一上下文菜单中。在那里,您可以使用模块白名单而不是黑名单,也就是说,您只能选择加载所需的模块:

    image description