Pergunta

Eu tenho uma biblioteca C # bastante grande, escrita originalmente para .NET e Windows, que agora estamos portando para Mono e Linux. É exaustivamente testado em unidade com o NUnit. A transferência foi bastante simples, mas agora preciso de alguns recursos reais de depuração, como números de linha de erro e pontos de interrupção.

Estou compilando usando VS2010 no Windows 7 ou com xbuild no Debian 6.0.2, realmente não importa porque os binários são totalmente compatíveis. Executando testes com Mono 2.10.2 construído a partir do tarball e NUnit 2.5.10 do Debian experimental.

Quando executo meu projeto no Visual Studio, a depuração funciona bem depois de anexar ao processo nunit. Então, alguém sabe como posso habilitar o suporte ao depurador Mono completo com testes NUnit?

P.S. Eu vi isso , mas estou compilando com xbuild e executando com nunit-console, então não posso fornecer argumentos manualmente para o compilador ou o tempo de execução Mono.

Desde já, obrigado!

ATUALIZAÇÃO: descobri o utilitário pdb2mdb, mas mesmo quando o uso, ainda não consigo obter os números das linhas, o que me leva a acreditar que o código não está sendo compilado com --debug. Mas como estou usando xbuild em um arquivo VS .sln, em vez de invocar o compilador diretamente, como faço para usar --debug ??

Foi útil?

Solução

Descobri.Jon Skeet vem ao resgate, mais uma vez:

Nunit .net vs mono

Depois de converter para mdb, eu precisei executar o nunit-console .EXE de dentro do comando mono, assim:

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

Isso demorou mais do que deveria: P

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top