【发布时间】:2012-05-24 03:32:56
【问题描述】:
在 VS2010 中进行调试时,程序的运行速度自然会比其他方式慢很多。
但是,如果我更新 ListBox 的值,最近我的程序运行速度非常慢。 (其他控件也可能会受到影响,我不确定……但 ListBox 是肯定的)。
在调试器之外在几分之一秒内发生的操作,例如向 ListBox 添加 100 个元素,在 VS 中可能需要 3 到 5 分钟。
显然,这不是正常行为。
我不确定这从何时开始,但并非一直如此。它开始发生在几个月前。也许当我安装服务包时?我不确定。
当我查看进程时,msvsmon.exe 正在消耗 CPU。
如果在某处我可能更改了导致此问题的某些选项,有什么想法吗?我正在尝试使用包含 8,000 个元素的 ListBox 来调试某些东西,但这是完全不可能的。
Windows 7 x64、4GB RAM、VS2010-SP1
【问题讨论】:
-
问:什么语言:C#? VB.Net?其他?问:什么目标:Winforms? WPF?其他?问:当应用程序不从 MSVS 调试器运行时,它的行为如何?问:当您为“发布”(而不是“调试”)编译并在 MSVS 之外运行它时,应用程序的行为如何?问:你是如何填充列表框的?
-
当您的应用程序运行缓慢时,您的计算机在做什么?
-
查看输出窗口。它是否充满了“第一次机会例外”消息?不要吞下异常,修复它们。
-
@paulsm4 C# 4.0,Winforms。在调试器之外,程序运行顺利。即时列表框人口。我还没有在发行版中编译过这个程序。我调用
BeginUpdate(),然后添加我想要的所有元素,然后我调用EndUpdate()。 -
@HansPassant 是的,我可以在输出窗口中看到很多
System.InvalidCastExceptions。
标签: c# visual-studio-2010 visual-studio-debugging