ysa*_*lmi 4 c# debugging mono assert monodevelop
简单地说,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 ----
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来强制在MonoDevelop中Debug.Asserts
破坏执行失败Assert
?
调试器集成部分Debug.Assert
尚未实现 - 请参阅Xamarin bug#4650.
几个月前我已经快速浏览了一下,然后意识到这样做可能需要运行时支持来自动展开顶层框架(因此MonoDevelop将停止在Debug.Assert
语句上,而不是在跟踪侦听器实现中的某个地方).
作为解决方法,您可以添加自定义跟踪侦听器和调用Debugger.Break()
.