2014-10-30 118 views
4

如果我用F5(调试)启动我的应用程序,它需要约2000ms的特定操作。如果我使用F5 + CTRL启动应用程序(无需调试)并将Visual Studio附加到“附加到进程”,则只需要约100ms。Visual Studio F5调试比附加到进程慢

有人知道什么组件可能导致此性能“问题”吗?

C#应用程序/ VS 2012

编辑

代码剪断:

Stopwatch stopwatch = new Stopwatch(); 
stopwatch.Start(); 
changed.Validate(context); 
stopwatch.Stop(); 
Console.WriteLine(stopwatch.ElapsedMilliseconds); 
+0

你自己的触发操作

一篇文章?你如何开始? – Tyress 2014-10-30 07:18:55

+0

简单点击一个按钮。 – Im4Ever 2014-10-30 07:27:12

+0

这是正常现象,预计调试器连接时速度会变慢。通常情况下,应用程序的目的是在没有附加调试器的情况下使用,因此“性能”在没有调试器的情况下测量。这是一个问题吗?我知道一些巨大的应用程序可能令人讨厌调试,因为当调试器连接时它们变得非常慢。 – 2014-10-30 07:57:31

回答

0

,使得很多不同之处是F5或调试的Visual Studio负载在一个重大的事情全部pdb files.pdb文件是程序数据库文件,是您能够进行调试的原因。如果以编译模式编译,您将看到具有与每个dll对应的.pdb文件的bin文件夹。

更多关于pdb文件:http://msdn.microsoft.com/en-us/library/yd4f8bd1(vs.71).aspx关于这个主题 http://blogs.msdn.com/b/zainnab/archive/2010/11/01/start-debugging-vs-start-without-debugging-vstipdebug0037.aspx

+1

感谢您的提示。我看到了这篇文章。但是pdb的负载应该仅在它们的第一次加载时受到影响? “附加到进程”也加载dps pdb。 =>应该以与F5相同的方式影响。 – Im4Ever 2014-10-30 10:18:33

相关问题