【问题标题】:How to debug OpenCV program without Nvidia DLLs?如何在没有 Nvidia DLL 的情况下调试 OpenCV 程序?
【发布时间】:2015-02-03 04:15:15
【问题描述】:

Visual Studio 社区 2013
视窗 8.1 64 位
OpenCV 3.0 测试版
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 的情况下进行调试呢?

【问题讨论】:

    标签: c++ visual-studio opencv nvidia pdb


    【解决方案1】:

    您可以这样禁用模块的符号加载: (来自https://msdn.microsoft.com/en-us/library/4c8f14c9.aspx

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

    【讨论】:

    • 谢谢!我可以只加载我自己的 PDB 吗?
    【解决方案2】:

    要扩展其他答案,请在 Visual Studio 2010 中执行以下操作:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 2012-09-18
      • 2010-10-23
      • 2017-09-24
      • 2022-12-07
      • 1970-01-01
      • 2012-08-08
      相关资源
      最近更新 更多