为什么断点的条件未能执行
本文关键字:执行 条件 断点 为什么 | 更新日期: 2023-09-27 17:54:37
我想在短时间内暂时禁用一个断点,所以我用以下条件设置了一个条件断点:
(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.
为什么运行时拒绝对表达式求值?
我怎样做才能在不修改已调试的源代码的情况下获得所需的行为?
从VS2012开始,您必须切换到托管兼容模式,以使用条件断点。为什么(抱歉,没有更多的为什么从MS,因为链接是坏的…我添加了链接到archive.org)和如何描述在这里:
开关- -管理-兼容性-模式-视觉工作室- 2013年
旧的微软链接,现在已关闭
archive.org上的微软原创文章
据我所知这是不可能的。你可以使用HitCount
或在C#
code
#if DEBUG
if(System.Diagnostics.Debugger.IsAttached)
System.Diagnostics.Debugger.Break();
#endif