[Intel tools] codecov dans des librairies .so

codecov dans des librairies .so [Intel tools] - Linux et OS Alternatifs

Marsh Posté le 07-02-2006 à 14:36:13    

Bonjour à tous !
 
Je suis en train de mettre en place l'outil de couverture de code fourni avec le compilateur intel (icpc).
 
Après avoir compilé avec les bonne options (-prof_genx), j'ai bien le fichier .spi qui est généré.
Lorsque je lance mon exécutable, cela génère bien un fichier toto.dyn.
Je fais alors un profmerge, pour merger le .dyn et le .spi, dans un .dpi.
Puis un codecov pour générer les pages html de couverture de code.
 
Mon souci est le suivant. L'application que je dois tester possède 1 exécutable, et différents modules, chacun générant une librairie.so,  
Lorsque je compile chaque module, chacun me génère un fichier module.spi. Il en est de même pour l'exécutable.
 
Le souci, c'est que lorsque j'appelle la commande codecov, je dois lui spécifier quel fichier .spi utiliser.
- Si je spécifie le .spi de l'exécutable, je ne vois la couverture de code qu'au niveau de cet exécutable (je ne peux pas voir dans les fonctions des .so, appellées par mon exécutable).
- Si je spécifier le .spi d'un des modules (associé à une librairie .so), ben je vois bien les fonctions de la librairies, mais elles sont considérées comme non parcourues :( :( :(
 
Y'a-t-il une solution pour voir la couverture de code complète ... i.e : de l'exécutable, mais aussi des sous-fonctions appellée.
 
Merci d'avance à tous !


Message édité par allawos le 07-02-2006 à 14:37:55
Reply

Marsh Posté le 07-02-2006 à 14:36:13   

Reply

Marsh Posté le 27-06-2006 à 14:48:42    

Pour les versions d'icc/icpc antérieures à la 9.0, la couverture de code ne fonctionne pour les librairies que si elles sont linkées en statiques.
Il faut passer à la version 9.1 pour que cela fonctionne avec les librairies dynamiques ... théoriquement (je ne l'ai pas testé !).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed