2017-06-03 10 views
1

Je rencontre actuellement un problème avec la génération de fichiers .gcda pour les données de couverture d'une bibliothèque statique. Je peux obtenir des données de couverture pour la plupart des fichiers, mais pas tous.Absence de certains fichiers GCDA après l'exécution du test

Je vais vous référer au fichier d'objet avec les données de couverture manquantes comme X.

Quelques choses à noter:

  • J'ai compilé la bibliothèque et exécutable de test avec les indicateurs appropriés.
  • Les fichiers .gcno sont générés pour tous les objets, y compris X.
  • Les fichiers .gcda sont générés pour objets les plus, à l'exception de X.
  • La décharge de symbole de fichier objet de X a les symboles Gcov présents dans son démontage .

Lors de l'exécution d'un test qui utilise X, .gcda fichiers sont générés pour d'autres fichiers, mais pas X.

ce qui pourrait arriver qui empêche un seul fichier .gcda d'être généré?

-

Système d'exploitation: OS X 10,12

LLVM compilateur Version: 8.0.0

+0

L'objet X est-il lié à la bibliothèque gcov? Les fichiers * .gcda pour les sources de la bibliothèque X seraient également générés dans le chemin où la bibliothèque X a été compilée à partir de la source. – AmeyaVS

+0

Oui. Les fichiers .gcda sont générés pour tous les objets sauf quelques-uns. Ils sont tous liés et construits avec les indicateurs appropriés, comme indiqué dans la sortie de xcodebuild. –

Répondre

1

Il semble que la question était y compris le suspect fichiers dans le projet de test et le projet de bibliothèque. Les fichiers .gcda ont été trouvés dans les fichiers intermédiaires du test, mais étaient absents des fichiers intermédiaires de la bibliothèque.

Problème étrange, et également difficile à déboguer.

0

Je pense que vous pourriez avoir besoin pour votre noyau permettent gcov.
option Activer CONFIG_DEBUG_FS, CONFIG_GCOV_KERNEL, CONFIG_GCOV_FORMAT_AUTODETECT et CONFIG_GCOV_PROFILE_ALL

et le fichier GCDA pour lib statique sera sous/sys/kernel/debug/gcov/

+0

Comment cela empêcherait la génération d'un fichier .gcda? L'information que je peux trouver pour ces variables concerne la couverture de code du noyau. Je vais essayer cela et vous mettre à jour sur le résultat. –

+0

Cela n'a donné aucun autre résultat. –

+0

Désolé, Bien que vous parliez de lib statique du noyau. – mJace