j'ai surmonté tous les problèmes avec la mise en place gcov
sur mon projet iPhone, mais maintenant je suis obtenir ce qui suit:Comment configurer les variables d'environnement pour gcov sur iPhone
profiling:/Users:Cannot create directory
Quelqu'un at-il des suggestions quant à ce que je pourrais avoir mal fait?
I gcov d'installation à l'origine en suivant les instructions de Google qui se trouve par googler « UsingCoverStory »
MISE À JOUR: Ok, alors laissez-moi préciser ce que je suis en train de faire. J'ai une application iPhone que j'essaie de tester automatiquement. J'utilise le cadre UISpec
pour piloter l'interface graphique. Ce que je dois vraiment savoir, c'est combien de code je couvre réellement avec mes tests. Je pense que je suis vraiment proche mais j'ai juste besoin de comprendre comment régler correctement les variables environnement/compilateur pour s'adapter à mon projet.
Voici un résumé de ce que j'ai fait jusqu'à présent. J'ai d'abord copié ma cible de construction, spécifié le drapeau de l'éditeur de liens et quelques autres options comme prescrites. (Ceci peut être fait automatiquement en utilisant un AppleScript créé par Google.) Instructions et téléchargement peuvent être trouvés par Google "UsingCoverStory") De toute façon, j'ai vérifié que ces paramètres sont assignés correctement. J'ai mis ma config à Debug et je cours cela sur un périphérique 3.1.3. Lorsque je lance l'application, elle ne montre rien de spécial dans le débogueur jusqu'à ce que je quitte l'application. À ce moment-là, je reçois une erreur:
profiling:/Users:Cannot create directory
profiling:/Users/forbushbl/Documents/TestApp/build/TestApp.build/Debug-iphoneos/TestApp copy.build/Objects-normal/armv6/ApplicationController.gcda:Skip
Je suppose que GCOV
tente d'écrire les fichiers .gcda
mais je ne suis pas tout à fait sûr comment dire où ils doivent être écrits. J'ai lu quelque part que GCOV
essaie de reproduire la structure de répertoire où les fichiers .gcno
sont stockés dans mon dossier de projet ce qui serait logique car le répertoire ci-dessus est où les fichiers .gcno
se trouvent sur ma machine. Cependant, ceci est un problème car cette structure n'existe pas sur l'iPhone et l'appareil ne peut pas créer cette structure.
J'ai trouvé une autre personne avec le même problème et ils ont dit qu'ils devaient définir une variable d'environnement. How to set up gcov for code coverage analysis in iPhone SDK?
La documentation GCOV
dit le texte suivant:
For example, if the object file
/user/build/foo.o
was built with-fprofile-arcs
, the final executable will try to create the data file/user/build/foo.gcda
when running on the target system. This will fail if the corresponding directory does not exist and it is unable to create it. This can be overcome by, for example, setting the environment as `GCOV_PREFIX=/target/run' and `GCOV_PREFIX_STRIP=1'. Such a setting will name the data file/target/run/build/foo.gcda
.
Ma question est, comment puis-je configurer ces variables d'environnement sur l'iPhone? Devrais-je le faire dans ma configuration de construction ou dans le code actuel?
Plus de détails sur les variables d'environnement et comment les utiliser dans un contexte générique (pas iPhone): [Déplacement de fichiers de données pour prendre en charge le profil croisé] (http://gcc.gnu.org/onlinedocs/gcc/Cross_002dprofiling.html#Cross_002dprofiling) –