为什么断点的条件执行失败?

问题描述 投票:16回答:2

我想在短时间内暂时禁用一个断点,所以我设置了一个有条件的断点,条件如下。

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

当这个断点被击中时,会弹出一个对话框,说:

The condition for a breakpoint failed to execute. The condition was 
'(global::System.DateTime.Now<new
global::System.DateTime(2014,03,28,11,0,0))'. The error returned was
'The runtime has refused to evaluate the expression at this time.'. Click
OK to stop at this breakpoint.

为什么运行时拒绝评估该表达式?

我怎样才能在不修改调试的源代码的情况下获得所需的行为?

c# debugging visual-studio-2013 conditional-breakpoint
2个回答
22
投票

从VS2012开始,你必须切换到托管兼容性模式,才能使用条件断点。为什么(对不起,自从MS破坏了这个链接,就没有更多的为什么了)以及如何使用,在这里有描述。

切换到管理兼容模式的视觉工作室-2013

旧的链接,现在死了。也许还在一些档案中


-2
投票

据我所知,这是不可能的。 你的... 可以 取而代之的是使用 点击数

或用定时器硬编码(如你所愿)在 C# 编码

#if DEBUG 
  if(System.Diagnostics.Debugger.IsAttached)
     System.Diagnostics.Debugger.Break();
#endif
© www.soinside.com 2019 - 2024. All rights reserved.