Nous cherchons des idées pour résoudre un problème de génération de liens/pdb lors de l'exécution de plusieurs devenv.com en utilisant Visual Studio 2005.Comment générer des fichiers pdb pour des versions parallèles?
Nous obtenons les erreurs intermittentes suivantes lors de l'exécution de builds parallèles en utilisant devenv.com. I.e. lorsque les conditions suivantes s'exécuter en même temps sur le même serveur construction:
devenv.com master.sln /build "Release|Win32"
devenv.com master.sln /build "Debug|x64"
fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'
error C2471: cannot update program database
Nous voulons que les fichiers pdb, afin de les éteindre n'est pas vraiment une option. L'exécution des versions en série n'entraîne pas le problème, mais ralentit bien sûr le processus de construction.
Références trouvées jusqu'à présent indiquent
- qu'il ya des problèmes avec la longueur des noms de fichiers qui dépassent la limite de chemin de fichier 256, cela ne semble pas être notre problème que nous pouvons construire individuellement, et le chemin + La longueur du nom de fichier est d'environ 160 caractères.
- Il existe des problèmes avec les versions incrémentielles (mais principalement dans Visual Studio 2008) et la liaison incrémentielle est désactivée.
Nous recherchons des informations pour résoudre ce problème de processus multiple, si possible.
Comment le résoudre?
Je ne pense pas qu'il y ait une solution à cela, mais pourquoi voulez-vous effectuer builds parallèle? Autant que je sache, il y a assez de parallélisme dans le Visual Studio lui-même. Il utilisera tous les cœurs de processeur disponibles sur votre serveur tout en construisant des projets séparés et même des fichiers sources séparés en parallèle. D'une certaine manière, le problème avec les fichiers PDB pendant cette compilation est déjà résolu (si vous voulez savoir comment - dites-moi). Par conséquent, je ne vois aucune raison d'exécuter plusieurs builds en parallèle, car cela n'apportera aucun bénéfice à moins que vous ayez plus de cœurs de processeurs qui génèrent des fichiers dans l'ensemble de votre solution :). –