Dlaczego msbuild i link.exe „wiszą” podczas kompilacji?
Mamy kilka rozwiązań C ++ i uruchamiamy skrypty do budowania przy użyciu plików wsadowych, które wywołują msbuild.exe dla każdej konfiguracji w rozwiązaniach.
To działało dobrze na 3 komputerach deweloperskich i jednej maszynie kompilującej, ale jeden z projektów zaczął się zawieszać podczas łączenia. Zdarza się to tylko na najnowszej maszynie, która jest czterordzeniowym, 2.8 GHz. Działa na Windows Server 2003, a pozostałe na XP lub Vista.
Dzieje się tak konsekwentnie, nawet jeśli zmienię kolejność kompilacji w pliku bat.
Jeśli uruchomię kompilację z IDE na tym komputerze, nie zawiesi się.
Jakieś pomysły na to, co mogłoby to powodować?
Korzystam z Visual Studio 2008.
Edytować:Widzę teraz, że gdy się zawiesi, działają następujące:
link.exe (2 instancje) Jeden z dużym wykorzystaniem pamięci i jeden z niewielkim wykorzystaniem pamięci.vcbuild.exemsbuild.exevcbuildhelper.exemspdbsrv.exeEdytować:Plik exe istnieje, podobnie jak plik pdb.
Plik exe jest zablokowany przez jakiś proces i nie mogę go usunąć ani przenieść. Mogę jednak usunąć plik pdb.
Mam też problem, jeśli po prostu używam VCBuild.exe.
Zdecydowałem się na debugowanie procesów 2 link.exe i procesów mspdbsrv.exe.
Kiedy dołączyłem do nich debugger / MSdev IDE, otrzymałem komunikat informujący, że aplikacja jest zablokowana i / lub że „wszystkie wątki zostały zakończone”.
Sądzę, że będę musiał sprawdzić, czy nie ma dodatku Service Pack dla tej instalacji msdev na tym komputerze.
Edytować:W pliku wyjściowym debug.htm otrzymuję różnego rodzaju dane wyjściowe po wygenerowaniu polecenia link.exe.
Jednak dla wydania buildlog.htm linia linke.exe jest ostatnią linią.
Jest to wyraźnie powiesić w linkerze. Zdecydowanie błąd Microsoftu.
Próbuję teraz dowiedzieć się, czym jest plik .rsp (linker response).
Kiedy wystawiam:
link.exe @c: Release RSP00000535202392.rsp / NOLOGO / ERRORREPORT: QUEUE
To ostatnia linia w dzienniku budowania wydania. Po tym debugowaniu jest dużo więcej informacji.
Ponowna instalacja innej wersji Visual Studio nie rozwiązała problemu.
Otworzę problem / bilet w Microsoft. Jeśli mogę, opublikuję odpowiedź.