Por que o msbuild e o link.exe estão “suspensos” durante uma compilação?

Temos algumas soluções em C ++ e executamos alguns scripts de construção usando arquivos em lote que chamam msbuild.exe para cada uma das configurações nas soluções.

Isso estava funcionando bem em três máquinas de desenvolvedor e uma máquina de compilação, mas um dos projetos começou a travar ao vincular. Isso só acontece na mais nova máquina que é um quad core, 2.8ghz eu acho. Ele é executado no Windows Server 2003 e os outros estão no XP ou no Vista.

Isso acontece de forma consistente, mesmo se eu mudar a ordem das compilações no arquivo bat.

Se eu executar a compilação do IDE nessa máquina, ela não será interrompida.

Alguma idéia sobre o que poderia estar causando isso?

Eu estou usando o Visual Studio 2008.

Editar:

Eu vejo agora que quando está pendurado, o seguinte está em execução:

link.exe (2 instâncias) Um com grande uso de memória e outro com pouca utilização de memória.vcbuild.exemsbuild.exevcbuildhelper.exemspdbsrv.exeEditar:

O exe existe e também o arquivo pdb.

O arquivo exe está bloqueado por algum processo, e não consigo deletá-lo ou movê-lo. Eu posso excluir o arquivo pdb embora.

Eu também tenho o problema se eu apenas usar VCBuild.exe.

Eu decidi tentar depurar os 2 processos link.exe e os processos mspdbsrv.exe.

Quando eu anexei o debugger / MSdev IDE para eles, recebi uma caixa de mensagem dizendo que o aplicativo estava em deadlock e / ou que "todos os threads foram encerrados".

Eu acho que vou ter que verificar se há um service pack para essa instalação do msdev nessa máquina.

Editar:

No arquivo de saída debug.htm, recebo todos os tipos de saída de material depois que o comando link.exe é gerado.

No entanto, para o release buildlog.htm, a linha linke.exe é a última linha.

Isso é claramente um travamento no vinculador. Definitivamente um bug da Microsoft.

Agora estou tentando descobrir qual é o arquivo .rsp (response linker).

Quando eu emito:

link.exe @c: \\ Liberar \ RSP00000535202392.rsp / NOLOGO / ERRORREPORT: FILA

Essa é a última linha no log de criação de versão. O debug tem muito mais informação depois disso.

Reinstalar uma versão diferente do Visual Studio não resolveu o problema.

Vou abrir um problema / ticket com a Microsoft. Vou postar uma resposta, se puder.

questionAnswers(6)

yourAnswerToTheQuestion