c# - 尝试从 Mono NUnit 测试中获取调试输出

标签 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 experimental 的 NUnit 2.5.10 运行测试。

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

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

提前致谢!

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

最佳答案

想通了。 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

关于c# - 尝试从 Mono NUnit 测试中获取调试输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7391836/

相关文章:

debugging - 逐步进入GDB中的特定功能

c# - log4net 跨平台 XML 配置

c# - 有没有一种方法可以在不使用构造函数的情况下初始化结构的成员?

c# - 在 WPF (C#) 中的两个 Datagrid 之间拖放

c - printf 期间出现访问冲突错误

debugging - 调试时禁用 qt creator 自动构建

c# - 在 Mono : invalid conversion of function? 中将 C++ 公开给 C#

c# - 是否可以创建包含 WPF 库的 Mono 包?

c# - 通过 jquery 获取 updatepanel 内的复选框单击

c# - 将 Selenium 用于 Java 与 .NET 应用程序的优点/缺点是什么?