Why does the condition for a breakpoint failed to execute?
Asked Answered
D

2

18

I want to temporarily disable a breakpoint for a short time, so I set a conditional breakpoint with the following condition:

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

When this breakpoint is hit a dialog pops up, saying

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.

Why has the runtime refused to evaluate the expression?

What can I do to get the desired behavior without modifying the debugged source code?

Divertimento answered 28/3, 2014 at 9:46 Comment(3)
what is your desired behaviour ?Abstractionist
#19844183Lunge
@Abstractionist disable a breakpoint for an adjustable time (e.g. over lunch)Divertimento
P
23

From VS2012 on, you have to switch to the Managed Compatibility Mode, to use conditional breakpoints. Why (sorry, no more why from MS since that link is broken.. I added link to archive.org) and how is described here:

switching-to-managed-compatibility-mode-in-visual-studio-2013

old Microsoft link, now dead

the original Microsoft article on archive.org

Passmore answered 28/5, 2015 at 9:51 Comment(4)
It's odd that they don't even mention conditional breakpoints as one of the reasons to switch to the older mode!Undermanned
Yes, it works after switching to the compatibility mode.Undermanned
Dead link, this seems to work.Ham
I added the broken article back from archive.orgPassmore
A
-2

It's not possible as far as I know. What you can do instead is use of HitCount

or hardcode with a timer (as you like) in C# code

#if DEBUG 
  if(System.Diagnostics.Debugger.IsAttached)
     System.Diagnostics.Debugger.Break();
#endif
Abstractionist answered 28/3, 2014 at 9:50 Comment(4)
hard coding is not an option as you cannot change the behavior during a debug session, hit count would require statistical data upfront to have any timely meaningDivertimento
@mbx: what behaviour are you talking about ?Abstractionist
behaviour for a breakpoint - can change the condition at runtime during a debug session - just break, change the condition for the breakpoint and continueDivertimento
@mbx: HitCount is best what you can basically afaik, for this case.Abstractionist

© 2022 - 2024 — McMap. All rights reserved.