【发布时间】:2015-11-20 05:48:30
【问题描述】:
在 C#/Visual Studio 中遇到断点时,有什么方法可以将当前线程的执行延迟指定的时间段? 休眠后,应继续执行。
我知道 VS 中有一个“当命中”功能,它允许在遇到断点时执行任意代码(主要是将信息打印到控制台),但它非常有限;它不允许将Thread.Sleep 或任何耗时的操作(如for 循环)放在那里。也不允许使用委托/lambda 函数。
我正在使用 Visual Studio 2012。
【问题讨论】:
-
我怀疑你能做到这一点......你为什么不直接把 sleep 放在你的代码中?
-
添加到@Thomas - 可能使用如下构造:
if (System.Diagnostics.Debugger.IsAttached && maybeSomeOtherCondition) { // Sleep }。 -
我认为断点表达式求值器使用断点处的上下文。如果您的程序有一个执行睡眠的函数,该函数可以通过您的断点从该函数访问,您可以调用它(也许它返回一个虚拟 int 值?)但是由于这可能需要您更改代码,它可能不是什么你在追求。
-
Thomas,因为它需要重建整个项目,而且在我的特殊情况下非常耗时。顺便说一句,我目前正在这样做,但它很烦人。
-
@Corak,它需要重建,但基本上问题是是否有可能不重建。
标签: c# .net visual-studio debugging