我有一个相当大的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 ??
答案 0 :(得分:4)
想出来。 Jon Skeet再一次来救援:
转换为mdb后,我需要从mono命令中运行nunit-console .EXE ,如下所示:
mono --debug /opt/mono-2.10/lib/mono/4.0/nunit-console.exe Test.dll -config=Debug
这比预期的要长:P