调试.断言不打破编辑器在MonoDevelop/MonoTouch

本文关键字:MonoDevelop MonoTouch 编辑器 断言 调试 | 更新日期: 2023-09-27 17:50:11

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

调试.断言不打破编辑器在MonoDevelop/MonoTouch

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

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

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