我用的vs2010 调试很慢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用的vs2010 调试很慢相关的知识,希望对你有一定的参考价值。

我用的vs2010 调试很慢,各种方法都试过了都没有用,求大佬解答,(付生成流程一张)

参考技术A 禁用Intellisense
工具->选项->文本编辑器->C/C++->高级
禁用IntelliSense设为True
这个功能很好用。 设置了下,重新打开VS,明显快了很很多。追问

没有用

参考技术B 是不是输入法导致的?
我昨天刚碰到过输入法影响 c# console 输出的
参考技术C 是用的笔记本吗?先看一下自己电脑的配置吧。有可能和配置有关。追问

我配置绝对够

opencv如何配置修改并调试opencv源代码

这篇文章主要介绍如何通过vs2012配置opencv,然后再具体修改调试opencv的代码。

1、配置opencv工程项目

这里主要是介绍如何通过vs2012编译源代码,具体步骤可以参考:

【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译

因为我用的vs版本是vs2012,对应于VC11,在编译的过程中,如果出现以下类似的问题,可以参考一下:

1)CMake提示无法找到vs12

具体现象是在CMake gui 界面,点击configure时,出现如下提示:
CMake Error: CMake was unable to find a build program corresponding to “Visual Studio 12”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.

解决方法:这是因为在CMake中把vs2012认为是vc11了, 这时我们在配置时,在弹出的窗口中(如下图所示),选择vs2011。


这里写图片描述

具体可参考:
http://public.kitware.com/Bug/print_bug_page.php?bug_id=14629

2)编译的过程中,报错,提示没有找到ippicv_windows_20141027
在CMake配置的时候,下载文件过程中,出现:
CMake Error at 3rdparty/ippicv/downloader.cmake:97 (message):
ICV: Failed to unpack ICV package from D:/Program Files/opencv/sources/3rdparty/ippicv/downloads/windowsb59f865d1ba16e8c84124e19d78eec57/ippicv_windows_20141027.zip
to D:/Program Files/opencv/sources/3rdparty/ippicv/unpack with error 1Call Stack (most recent call first):
3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)
cmake/OpenCVFindIPP.cmake:212 (include)
cmake/OpenCVFindLibsPerf.cmake:12 (include)
CMakeLists.txt:454 (include)

这时我们可以下载这个文件:ippicv_windows_20141027.zip

替换到:
..\\OpenCV\\V300\\sources\\3rdparty\\ippicv\\downloads\\windows-b59f865d1ba16e8c84124e19d78eec57\\ 路径里的对应文件就可以了。
先停止configure,复制文件到路径覆盖未下载完全的文件,再点击configure。

2、如何调试opencv

在上述提及的教程里,我们已经配置好了opencv源代码工程文件。

现在我们打开对应的工程文件。选中我们要调试的那个dll。因为opencv比较庞大,所以按照功能分成了不同的dll。
这里看看怎么通过自己编写的例子来调试opencv的代码。主要目的是为了学习opencv里面优秀的设计,发现现在opencv都用了比较快速的方法,比如SSE,NEON等优化技术,熟悉代码就变得很有用处。

首先,我们写个简单的项目工程。主要用resize的函数。

Mat img= imread("d:\\\\lena.jpg");
resize(img,img,Size(img.cols/2,img.rows/2));

然后,打开opencv工程文件,找到对应的imgwarp.cpp,resize函数在这个文件中。这里应该是在opencv_imgproc下的。


这里写图片描述

对opencv_imgproc,右击,选择属性,弹出如下对话框。在对应的配置属性->调试选项中,修改命令为我们刚刚写好的opencvBase工程目录下debug文件的exe文件。调试器类型修改为 混合。表示调试该dll时,选择用我们选好的exe程序调用。

这里写图片描述

之后在opencv_imgproc项目上右击,将其设置为 启动项目

为了更好的观察是否进到了opencv代码里面,在imgwarp.cpp中,找到resize函数,设置断点。并且开始进行调试。
可以看到,这是已经进入到了resize函数当中。


这里写图片描述

那现在又有个问题,当前的设置并不能让我们修改opencv的代码并调试,只能进行断点跟踪。

假设我们想要修改opencv的代码并调试应该怎样进行?

3、修改并调试opencv源码

这里我们需要把opencv工程生成的dll复制到我们需要的系统路径下。

在一开始配置的时候,我们给opencv配置了环境变量,使得能够在对应的环境变量路径下找到dll文件。而为了调试我们生成的dll,只需要将这些工程所生成的dll文件复制到对应的环境变量路径中。也可以在生成dll的时候,直接配置生成的地址为对应的opencv\\build\\x86\\vc11\\bin

在这里,我配置的是:

D:\\opencv3.0\\build\\x86\\vc11\\bin,为了更加方便,直接设置opencv_imgproc的输出目录为D:\\opencv3.0\\build\\x86\\vc11\\bin,


这里写图片描述

在resize中,添加打印语句:

这里写图片描述

然后生成解决方案。

在opencvBase工程或者opencv源代码工程中,重新编译运行。都可以看到:


这里写图片描述

以上是关于我用的vs2010 调试很慢的主要内容,如果未能解决你的问题,请参考以下文章

vs2010中release模式下调试程序

为啥我用VS2010调试程序时出现错误未能在指定文件夹中找到.exe

如何重置 VisualStudio(VS2010、VS2012)调试器缓存?

Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置

部分无法查找或打开 PDB 文件

为啥我用vs2010编c++程序时,用“cout”“cin”时,调试时说“cout”“cin”是未声明的标识符?