Question

Est-il possible de définir un chemin d'accès personnalisé aux fichiers de base de données du programme (* pdb) en C # sous Visual Studio 2008? Avec C ++ cela était assez simple (paramètres du projet -> Linker -> Debugging -> Générer fichier de base de données du programme)., Mais pour une raison Microsoft semble avoir retiré (ou caché) pour C #

Je suis conscient que l'usage « standard » est d'avoir de pdb situé dans la poubelle dir à côté de l'exécutable, mais ce répertoire est en train de devenir un gâchis si je préfère vraiment qu'ils soient situés dans / obj, qui est ce que je toujours l'habitude de faire en C ++.

Merci!

Était-ce utile?

La solution

Le compilateur C # prend en charge ce avec le / pdb option de ligne de commande . Cette option est toutefois pas exposée dans l'onglet Générer de l'IDE.

Le processus de construction IDE demande déjà le compilateur C # pour mettre le fichier .pdb dans le obj \ Debug. Une copie se retrouve dans le bac \ Debug par une tâche MSBuild nommée CopyFilesToOutputDirectory. Cette tâche est configurée dans Microsoft.Common.targets, un fichier situé dans le répertoire c: \ windows \ microsoft.net \ framework répertoire \ v3.5 pour VS2008. Vous pouvez modifier techniquement ce fichier et de supprimer l'élément <Copy> qui copie le pdb. Tenez compte de l'avertissement en haut de dossier, assurez-vous de faire une copie de sauvegarde avant de le modifier.

Je pense que le problème de base que vous allez rencontrer le faire est que cela affecte tous builds de tous les projets. Et que le débogueur maintenant ne peut trouver le fichier pdb. Ce serait le show-bouchon ultime.

Autres conseils

ajouter un événement Postbuild et copier un pdb à l'endroit désiré)

Les fichiers pdb doit résider dans le même dossier que votre .exe et .dll est en ordre de charger.

pdb sont chargés sur la gestion des exceptions et nécessaires pour remonter à la ligne exacte dans le code où vos exceptions se produit.

Ce que vous pouvez faire est de déplacer les années pdb à un serveur de symboles lors de la construction au lieu de les publier avec l'application. Puis les tirer dans l'analyse d'une trace d'exception.

Consultez cette post pour plus d'informations sur les fichiers pdb, serveurs de symboles et plus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top