Consideremos el siguiente programa en C#:Debug.Assert no parece funcionar en Mono
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!");
}
}
}
Al compilar esta usando:
dmcs -debug -d:DEBUG Main.cs
y luego ejecutarlo con:
mono --debug Main.exe
la afirmación y el fracaso parecen ser ignorados. La salida es justa:
Hello World!
He comprobado otras preguntas relacionadas en StackOverflow, pero no he podido encontrar una solución. En particular, la solución dada en Mono - Debug.Assert does not work no funciona. (ACTUALIZACIÓN: la solución actualizada funciona, consulte los comentarios a continuación.)
Uso Mono 2.10.5-1 en Ubuntu 11.10.
D'oh. Supuse que mi respuesta funcionó ya que fue aceptada. Actualicé la respuesta y comprobé que funcione esta vez. En resumen: 'mono' no viene con un cuadro de diálogo como .NET de Microsoft; no hace nada a menos que establezca un oyente de rastreo. – dtb
Gracias. Usando "export MONO_TRACE_LISTENER = Console.Out", el error de aserción se escribe en la consola. –