Debug.Assert不会破坏MonoDevelop / MonoTouch中的编辑器

时间:2012-12-28 18:44:54

标签: c# debugging mono monodevelop assert

简单地说,失败的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处中断执行?

1 个答案:

答案 0 :(得分:6)

Debug.Assert的调试器集成部分尚未实现 - 请参阅Xamarin bug #4650

几个月前我已经快速浏览了一下,然后意识到这样做可能需要运行时支持来自动展开顶部框架(因此MonoDevelop会停在Debug.Assert语句上,而不是跟踪侦听器实现中的某个地方。)

作为一种变通方法,您可以添加自定义跟踪侦听器并调用Debugger.Break()