当Debug.Assert失败时导致VS2010调试器中断
  当Debug.Assert的参数计算结果为false时,是否有任何方法导致Visual Studio 2010在调试期间中断? 
例如:在我的代码中我有这样的行:
Debug.Assert(!double.IsInfinity(x));
如果我不调试,当断言失败时会弹出一个窗口。
  但是当我调试时,断言会记录到“输出”窗格中,这很容易丢失;  没有弹出窗口,调试器不停止。  因此:当Debug.Assert失败时,有没有办法强制Visual Studio调试器中断? 
  (顺便说一句:我正在开发一个基于WPF的桌面应用程序,在Windows窗体应用程序中,行为似乎不一样:在此,调试器在Debug.Assert上Debug.Assert 。) 
  编辑 :请让我澄清:我没有寻找替代Debug.Assert(),因为我的代码和外部代码是使用完全Debug.Assert()语句。  我正在寻找一种方式来导致Visual Studio调试器在Debugg.Assert失败时Debugg.Assert 。  (我认为早期的VS版本做到了这一点,并且在VS2010中改变了行为)。 
如果通过调试您的意思是使用“Step Into”功能,请参阅此MS对该问题的回答。
http://connect.microsoft.com/VisualStudio/feedback/details/522995/system-diagnostics-debug-assert-doesnt-pop-up-messagebox-correctly-when-step-into-it-in-vs-2010-和2008年
在Assert语句中使用“Step Over”也可以解决这个问题(对我来说)。
您可以使用条件断点来处理这种行为,只需在要断开的行上设置断点,然后右键单击左侧的点并选择条件,在弹出式菜单中输入所需的条件(在您的情况下为双倍)。 IsInfinity(X))
  使用Debugger.Break方法(在System.Diagnostics名称空间中)。  如果您在调试器中运行,这会中断执行。 
上一篇: Causing VS2010 debugger to break when Debug.Assert fails
下一篇: Why doesn't Visual Studio 2010 break on an unhandled exception?
