C# 为什么断点的条件无法执行?

C# 为什么断点的条件无法执行?,c#,debugging,visual-studio-2013,conditional-breakpoint,C#,Debugging,Visual Studio 2013,Conditional Breakpoint,我想暂时禁用一个断点一段时间,所以我设置了一个条件断点,条件如下: (global::System.DateTime.Now<new global::System.DateTime(2014,03,28,11,0,0)) (global::System.DateTime.Now据我所知,这是不可能的。您可以使用 或者在C#code中使用定时器硬编码(如您喜欢) #if DEBUG if(System.Diagnostics.Debugger.IsAttached) Sys

我想暂时禁用一个断点一段时间,所以我设置了一个条件断点,条件如下:

(global::System.DateTime.Now<new global::System.DateTime(2014,03,28,11,0,0))

(global::System.DateTime.Now据我所知,这是不可能的。您可以使用

或者在
C#
code中使用定时器硬编码(如您喜欢)

#if DEBUG 
  if(System.Diagnostics.Debugger.IsAttached)
     System.Diagnostics.Debugger.Break();
#endif

从VS2012开始,您必须切换到托管兼容性模式,以使用条件断点。原因(抱歉,由于该链接已断开,MS不再提供原因。)我已将链接添加到archive.org,下面介绍了如何使用:


您希望的行为是什么?@Tigran在可调整的时间内禁用断点(例如在午餐时间)硬编码不是一个选项,因为您无法在调试会话期间更改行为,命中计数将需要预先统计数据,以便及时更新meaning@mbx:您在谈论什么行为?断点的行为-可以在调试会话期间在运行时更改条件-只需中断,更改断点的条件a钕continue@mbx:在这种情况下,命中率是你基本上能做到的最好的。奇怪的是,他们甚至没有提到条件断点是切换到旧模式的原因之一!是的,切换到兼容模式后它会工作。死链接,。我从archive.org添加了这篇断开的文章
#if DEBUG 
  if(System.Diagnostics.Debugger.IsAttached)
     System.Diagnostics.Debugger.Break();
#endif