简单地说,失败的Debug.Assert
调用不会停止MonoDevelop中程序的执行流程,它们只打印出一条跟这样开始的跟踪消息(后跟堆栈跟踪):
2012-12-28 19:21:01.978 TestApp[81689:c07] ---- DEBUG ASSERTION FAILED ----
2012-12-28 19:21:01.979 TestApp[81689:c07] ---- Assert Short Message ----
我可以做些什么来强制失败的Debug.Asserts
在MonoDevelop中的Assert
处中断执行?
答案 0 :(得分:6)
Debug.Assert
的调试器集成部分尚未实现 - 请参阅Xamarin bug #4650。
几个月前我已经快速浏览了一下,然后意识到这样做可能需要运行时支持来自动展开顶部框架(因此MonoDevelop会停在Debug.Assert
语句上,而不是跟踪侦听器实现中的某个地方。)
作为一种变通方法,您可以添加自定义跟踪侦听器并调用Debugger.Break()
。