试图从Mono NUnit测试中获取调试输出

时间:2011-09-12 17:50:39

标签: c# debugging mono nunit xbuild

我有一个相当大的C#库,最初是为.NET和Windows编写的,我们现在正在移植到Mono和Linux。它是使用NUnit彻底进行单元测试的。移植非常简单,但现在我需要一些真正的调试功能,如错误行号和断点。

我正在使用Windows 7上的VS2010或Debian 6.0.2上的xbuild进行编译,但这并不重要,因为二进制文件完全兼容。使用tarball构建的Mono 2.10.2和Debian实验的NUnit 2.5.10运行测试。

当我在Visual Studio中运行我的项目时,在我附加到nunit进程后,调试工作正常。那么,有没有人知道我如何通过NUnit测试启用全功能的Mono调试器支持?

P.S。我见过this,但我正在使用xbuild进行编译并使用nunit-console运行,因此我无法手动为编译器或Mono运行时提供参数。

提前致谢!

更新:我发现了pdb2mdb实用程序,但即使我使用它,我仍然无法获取行号,这使我相信代码没有使用--debug编译。但是因为我在VS .sln文件上使用xbuild,而不是直接调用编译器,我如何使用--debug ??

1 个答案:

答案 0 :(得分:4)

想出来。 Jon Skeet再一次来救援:

Nunit .net vs mono

转换为mdb后,我需要从mono命令中运行nunit-console .EXE ,如下所示:

mono --debug /opt/mono-2.10/lib/mono/4.0/nunit-console.exe Test.dll -config=Debug

这比预期的要长:P