vs2010运行速度慢_关于VS2010调试慢和运行慢的问题

时间:2023-09-16 17:52

以前一直用VC6.0编写C++和MFC程序,速度非常快,后来因为要编64位程序,只能舍弃掉6.0,改VS2010,其实就功能来说,VC6.0真的够用了,VS2010的高级功能从来没用过。

刚开始装VS2010的时候运行速度还算可以,但用了不到一个星期,速度陡然变慢,先是打开速度慢了,后来编译速度也慢的不得了。一个没几行的程序从打开到编译成功居然要两三分钟,实在不能忍了,只好去网上搜解决办法,以下解决办法均来自网上,这里只是整理一下。参考的链接有:

https://www.mareenoire.info/ghevinn/article/details/8588397

https://www.mareenoire.info/archives/1051.html

https://www.mareenoire.info/u012842273/article/details/53419475/

?

一.清理缓存

1.启用vs2010命令行工具:在vs2010命令提示符下,执行devenv.exe /resetuserdata。

2.装了vs助手的人,也可能是vs助手的问题,visual Assist X options->performance->clear,清理一下历史文件。

二.启用并行编译

工具-选项-项目及解决方案-编译及运行,并行编译会同时编译多个互相无依赖关系的工程。通常,设置并行编译的工程的数量和编译服务器核心数量一致。

三.启用多核编译

如果编译服务器有多个核心,则可以启用VS的多核编译来加快编译速度。

四.禁用最小编译

因为多核编译和最小编译不能同时启用,所以这里需要禁用最小编译。

五.启用增量链接

在Debug模式下可以启用增量编译,加快链接速度。

六.使用预编译头文件(如果是MFC工程)

项目-属性-配置属性-预编译头文件:Use/Yu

?

经过以上步骤后,大部分情况都能解决问题。

?

1、VS2010调试慢

??????? 之前VS2010调试很正常,但是最近一段时间调试很慢,一句代码都要执行好几十秒钟,实在是慢的让人无法忍受,根本不能愉快的进行调试了。说来也奇怪,有些工程是好的,比如新建的测试工程调试就比较快,但是我们的项目工程就异常的慢。也想过清理一些中间文件,将项目工程清理重新编译一遍,但是调试依旧是很慢。于是,到网上搜索了一下,找到了办法:在命令行中执行devenv.exe? /resetuserdata,将VS2010的环境重置一下。具体的做法是,到VS2010的开始菜单中找到“Visual Studio命令提示(2010)”,如下所示:

打开即切入VC的目录,C:\Program Files\Microsoft Visual Studio 10.0\VC,输入devenv.exe? /resetuserdata命令即可,如下:

??????? 当然,也可以在windows的cmd窗口中手动切到C:\Program Files\Microsoft Visual Studio 10.0\VC目录去执行devenv.exe? /resetuserdata命令。

??????? 注意,上述命令是将devnev.exe调起来,传递/resetuserdata命令参数,由devnev.exe来执行环境的重置,所以运行前要将所有的devnev.exe进程退出。再就是,此命令只是将devnev.exe进程调起来,调起来后命令行即返回,命令行返回不代表清理完成,只是将devnev.exe启动起来,清理需要一定的时间,可以通过查看任务管理器来检测清理是否完成,清理完成之前启动的devnev.exe即退出。所以要等清理任务完成后,再去启动VS打开项目工程。

2、VS2010运行慢

??????? 以为使用devenv.exe? /resetuserdata命令清理后就万事大吉了,清理后确实调试速度恢复正常了,但是整个电脑非常的卡。因为做开发的,一般打开的任务进程比较多,会占用很多的内存和cpu资源,电脑会反映慢一点,但是VS据直接卡住了,假死,很久才有反应,导致整个机器都很卡。于是,查看任务管理器查看系统资源占用情况(主要看内存和CPU占用情况),结果发现多了好几个vcpksrv.exe进程,占用了很多内存,导致机器的内存都快被占满了,所以整个机器都很卡。而且vcpksrv.exe进程是自动启动的,杀掉后一会又自己启动了。于是搜索了一下vcpksrv.exe进程,得知是与VS的智能感知相关的,可以在VS的菜单栏中的工具->选项->文本编辑器->c++ ->高级中将智能感知的IntelliSense禁用掉,禁用后就没有vcpksrv.exe进程了,如下所示:

3、其他

??????? 如果是重置VS2010的环境,则Visual Assist X会失效,需要重新安装破解一下。另外,如果在使用过程中出现VX Go的不准的情况下,可以尝试着到VX的选项中的performance页面,将历史缓存数据清理一下试试。VX的选项入口就在VX的工具栏按钮上,如下:

清理历史缓存数据的页面如下:

??????? 另外,可能会出现打断点后断点无效的问题,比如如下所示:

其实代码已经重新编译过了,此时需要到选项中将“要求源文件与原始版本完全匹配”勾除掉,位置如下:

我的整理

Visual Studio 2010 Ultimate 版本有个新功能IntelliTrace(智能跟踪),IntelliTrace被引入到Visula Studio中来加速我们对.NET应用程序的调试,它通过对预先设置的事件和方法在运行过程中的跟踪并将其有效地传递给调试执行者,从而快速的传递程序在执行过程中的状态和各种信息来帮助开发者更好的调试程序,快速的发现问题。实际上,在Visual Studio 2010之前,Microsoft Visual Stuido已经帮助我们很好的继承了调试工具,比如对变量的监控,对堆栈的查看等等,并且允许设置断点进行单步调试等。所有的这些都在很好的帮助开发者来了解程序在不同的执行过程中的状态以及检测是否按照预先实际的逻辑进行运转,而且更多的,我们通过断点后监测程序状态来发现问题所在。而这样所存在的问题是,一些逻辑上的错误可能发生在断点执行之前,而且很可能是一些无法追查。开发者必须停止当前的调试,重新设置断点并启动调试,而这样的试验过程往往需要很多次才能找到正确的位置来设置断点。IntelliTrace智能的将一些调试信息和程序状态自动的跟踪并实施的展现给开发人员,从而减少了需要程序员找到适当的断点才能跟踪和监控程序运行状态的过程。

Visual Studio提供给我们两个方式来控制其搜集信息的内容源,一个是IntelliTrace events only,仅仅收集智能跟踪事件和调试中断的相关数据;另外一个是IntelliTrace events and call information,这个就会收集除了IntelliTrace事件之外对一个方法调用的进入和退出的各种数据。下边我们来看看在Visual Studio 2010中如何设置IntelliTrace的跟踪选项。

进入到工具 --> 选项 --> IntelliTrace。

? ? ?它在默认状态下是启用的,但是,仅捕捉事件,因为捕捉事件是便宜的。然而,当你开始跟踪所有这些调用信息时,真正的价值开始显现出来了。你每一次调试的时候,IntelliTrace都将弹出来,你在动态调试的时候可以使用这个历史性的调试工具。假如我在那里并且有一个断点,但是,我要备份和重新设计这个断点,我可以使用IntelliTrace完成这个任务。

使用IntelliTrace捕捉到调试进程的其他人可以把记录以及.dlls和pdbs文件发送给你,你可以重放它们的进程。这个进程也许进入到数据库(你没有这个数据库),它也许是采用你不能复制的方法设置的,它可能在你不能企及的网络上,但是,你不用担心,因为你拥有记录以及.dlls和pdbs文件,你可以重放。

? ? ? ? 当然,拥有源代码会更好,因为那样你就能够看到这个代码好像是在你自己的机器上调试它一样。这对于在你的机器上运行正常,在其他人的机器不能运行的那些神秘的故障来说是非常好的。它对于多线程的情况也是非常好的,当你经过这个应用程序的时候,这个软件瑕疵就消失了,但是,在正常速度运行时,这个软件瑕疵又出现了。

?

2、如果还没解决问题

重新设置vs2010的环境(在vs2010命令提示符下,执行devenv.exe /resetuserdata)

【问题】

win7 x64,i5四核,8G内存,C盘还是SSD的。

之前启动Visual Studio 2010,都是很快,比如1,2秒。

突然,某天,启动Visual Studio 2010,极其的,非常非常的慢,要好几分钟。

【解决过程】

1.看到这人也遇到类似问题:

Visual Studio 2010, 2012 Very slow and the solution

其是说要去删除所有的名为:

Temporary www.mareenoire.info 的文件夹。

然后去看了看,找到一些:

C:\Windows\www.mareenoire.info\Framework\v4.0.30319\Temporary www.mareenoire.info Files? C:\Windows\www.mareenoire.info\Framework64\v4.0.30319\Temporary www.mareenoire.info Files 2.然后重新启动Visual Studio 2010试试,结果还是极其慢,要好多分钟。

3.参考:

Visual Studio 2010 suddenly slow

去试试重置设置,结果找不到devenv:

C:\Users\CLi>devenv? ‘devenv’ is not recognized as an internal or external command,? operable program or batch file.

4.待会再去参考:

How to: Reset Your Settings

试试重置。

5.参考:

Visual Studio Debugger Slow To Start Up Due To Symbol Loads

去Debug->Options and Settings->Debugging -> Symbols->Only specified modules

然后重启vs2010,再看看效果。

结果真的就解决此问题了:

只要1秒左右,就打开了VS2010了。

?

【总结】

VS2010突然启动极其慢,可以去试试:

Debug->Options and Settings->Debugging -> Symbols,从默认的”All modules,unless excluded“改为”Only specified modules“

此处即可解决问题。

转载请注明:在路上???【已解决】Visual Studio 2010突然启动非常非常慢

?

本人解决慢的方法是:

找到该程序,并运行

输入devenv.exe /resetuserdata,另外visual Assist X options->performance->clear,清理一下历史文件。(可能不清理也没关系吧)

该方法会把之前的部分个人设置清掉,重置之后还要重新设置一遍. ———————————————— 版权声明:本文为CSDN博主「JasonSafe」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://www.mareenoire.info/caichengji1/java/article/details/77524961

Copyright© 黑海资讯

鄂ICP备2023014923号