4 votes

LNK1201 sur Visual C++ 2003

J'obtiens toujours ce message d'erreur comme résultat après chaque exécution de débogage que j'ai faite sur n'importe lequel de mes projets dans VS2003. J'ai parcouru de nombreux forums et ils fournissent tous une réponse qui ne correspond pas au problème réel.

LINK : erreur fatale LNK1201 : erreur d'écriture dans la base de données du programme 'd : \Coding\Flyff\Projects\GUI Système 20110721 \Debug\GUI System 20110721.pdb' ; vérifier si l'espace disque est insuffisant, si le chemin d'accès n'est pas valide ou si les privilèges sont insuffisants.

J'utilise Windows 7 Ultimate x64 avec Visual Studio 2003 .NET (service pack VS7.1sp1-KB918007-X86.exe).

Ce que j'ai déjà essayé :

  • Fonctionne en mode compatible avec plusieurs autres systèmes d'exploitation et Service Packs.
  • Définir l'autorisation d'écriture des dossiers de projet sur "full".
  • Exécutez Visual Studio en tant qu'administrateur.
  • Format d'information de débogage modifié en plusieurs autres formats.

Pour reproduire ce bug, vous devez disposer de Windows 7 x64 (probablement Ultimate). Visual Studio 2003 (avec la mise à jour VS7.1sp1-KB918007-X86.exe).

J'ai plus de 150 Go d'espace, cela n'a donc rien à voir.

Visual Studio verrouille simplement le fichier PDB lors du débogage et ne peut pas le déverrouiller après le débogage.

Vous devez également exécuter un morceau de code qui s'exécute pendant quelques secondes, comme celui-ci :

int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,     int nCmdShow )
{
    Sleep( 5000 );
    MessageBox( NULL, "Test", "", 0 );
    return 0;
}

J'espère que quelqu'un a une solution, car je suis actuellement obligé d'utiliser cette configuration d'environnement.

Santé, Nicco.

3voto

JWess Points 305

J'ai enfin trouvé une solution de contournement pour ce problème qui me tourmente depuis un certain temps :

1) Téléchargez et installez LockHunter (utilitaire gratuit pour débloquer les fichiers verrouillés) :

http://lockhunter.com/download.htm

2) Ajoutez le répertoire d'installation de LockHunter à votre variable d'environnement "path" pour éviter les fenêtres pop-up ennuyeuses de privilèges d'administrateur à chaque fois que vous lancez l'utilitaire. [ ]

"C:\\Program Files\\LockHunter"

3) Ajoutez l'événement de préconstruction suivant à votre projet Visual Studio qui est expe

"LockHunter.exe /silent /unlock $(TargetDir)$(TargetName).pdb"

1voto

Captain Obvlious Points 11144

La seule fois où j'ai rencontré ce problème avec VS2003, c'est lorsqu'il s'est arrêté pendant une session de débogage. En général, le problème peut être résolu en redémarrant VS. Si cela ne fonctionne pas, il faut redémarrer le service de débogage et, dans certains cas, Windows.

Vous pouvez essayer d'ajouter ce qui suit à la ligne de commande de l'événement de pré-construction

net stop "Machine Debug Manager"
net start "Machine Debug Manager"

Puisque VS ou le gestionnaire de débogage garde le fichier verrouillé, je crains que ce problème soit causé par un problème beaucoup plus profond. Il y a de fortes chances qu'il y ait un problème dans votre installation de VS o un autre service ou une autre application entraîne un mauvais comportement du gestionnaire de débogage et/ou du VS.

0voto

zadane Points 934

Je rencontre cette erreur avec VS2010 et j'ai essayé de la résoudre en utilisant les méthodes suggérées dans les forums mais elles n'ont jamais fonctionné pour moi. A la fin, j'ai quitté VS2010 et redémarré en tant qu'administrateur et cela a fonctionné !

0voto

Undefined Behavior Points 1772

J'ai le même problème avec winXP SP3 et VS C++ 2010 Express, et j'ai résolu le problème en changeant les permissions d'accès au dossier MyProject, en décochant "read-only" et en l'appliquant à tous les dossiers, sous-dossiers et fichiers.

0voto

mostafa88 Points 159

Aucune des réponses ci-dessus ne fonctionne dans mon cas, mais j'ai finalement trouvé ma solution.

Lorsque le projet prend de l'ampleur et que la taille de la ".pdb" dépasse 300MB, l'erreur s'accumule. J'ai modifié les propriétés des informations de débogage dans mon projet et je l'ai compilé avec succès. Il vous suffit de changer le "Debugging information format" dans votre projet en "compatible C7 (/Z7)" dans le chemin suivant.

Propriétés de la configuration >> C/C++ >> Général Format

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X