title: System.Math.Abs() calls into native method System.AppDomain.GetId()?
body: <p>My conditional breakpoint sometimes works fine, and sometimes fails, with the following error:</p>
  
  <blockquote>
    <p>The condition for a breakpoint failed to execute. The condition was 'Math.Abs(-4.36767421599683 -x) &lt; 1e-5'. The error returned was 'Evaluation of method System.Math.Abs() calls into native method System.AppDomain.GetId(). Evaluation of native methods in this context is not supported.'.</p>
  </blockquote>
  
  <ol>
  <li>How does it only work some of the time? Is there runtime trickery happening where the conditional breakpoint code isn't the same each time I run it?</li>
  <li>If there was, why on earth would any version of the code for Abs() call AppDomain.GetId() - it's purely arithmetic surely?</li>
  <li>The .NET reference source shows a method <code>extern public static double Abs(double)</code>. Doesn't that mean it's <strong>always</strong> native anyway? How could it ever work?</li>
  </ol>