4

所以我有一些代码依赖于stopwatch一些计算。

但是,一旦秒表启动,即使在调试期间它也不会停止,并且当我尝试调试代码时它会给我带来问题。

有什么方法可以让我在调试期间停止秒表运行。我正在使用VS2012。

4

4 回答 4

6

不,你不能。因为秒表实际上并不像您可以暂停和恢复的线程那样运行。它只是简单地计算开始时间和停止时间并计算差异。

也许如果您发布您的代码或概念,我们可以找到一种无需秒表即可解决您的问题的方法?

于 2013-05-22T07:23:32.763 回答
2

这可能不是您所希望的,但您可以暂时这样做:

stopwatch.Stop();
Debugger.Break();
stopwatch.Start();

如果你不想担心不小心把它留在里面,你可以把它包装在 #if DEBUG 块中。

于 2016-02-16T14:01:37.053 回答
0

如果您使用 VS2012 中的调试配置文件运行,则可以使用以下内容:

#if DEBUG
sw.Stop();
#endif
于 2013-08-19T07:22:19.000 回答
-1

用于System.Diagnostics.Debugger.Break();此。

Debugger.Break:如果没有附加调试器,则询问用户是否要附加调试器。如果是,则启动调试器。如果附加了调试器,调试器会收到用户断点事件的信号,并且调试器会暂停进程的执行,就像遇到了调试器断点一样。

希望它有帮助。

于 2013-05-22T07:23:47.513 回答