c# – Debug.Assert似乎在Mono中不起作用

前端之家收集整理的这篇文章主要介绍了c# – Debug.Assert似乎在Mono中不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑下面的C#程序:
using System;
using System.Diagnostics;

namespace Test
{
        class MainClass
    {
        public static void Main (string[] args)
        {
            Debug.Assert(false);
            Debug.Fail("fail!");
            Console.WriteLine ("Hello World!");
        }
    }
}

编译时使用:

dmcs -debug -d:DEBUG Main.cs

然后运行它:

mono --debug Main.exe

断言和失败似乎被忽略.输出只是:

Hello World!

我在StackOverflow上检查了其他相关问题,但是找不到解决方案.特别是Mono – Debug.Assert does not work中的解决方案不起作用. (更新:更新的解决方案可以正常工作,请看下面的评论.)

我在Ubuntu 11.10上使用Mono 2.10.5-1.

解决方法

单声道 http://ebsteblog.wordpress.com/2009/05/06/debugassert-and-mono/的C#

文章摘录:

…如果您为您的应用程序创建一个.config文件,并将assertuienabled属性设置为true,则可以获得与.NET相同的对话框.文件app.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.diagnostics>
        <assert assertuienabled="true" />
    </system.diagnostics>
</configuration>

旧答案:如果没有在命令行/编译选项上指定-define DEBUG,则C注释.

对于调试添加

#define DEBUG

代码的开头

#define TRACE

为追踪.

见这里的解决方案:http://lists.ximian.com/pipermail/mono-list/2006-December/033774.html

p.s:我试过这个C不是C#.这可能不适用于C#.

猜你在找的C#相关文章