J'ai un projet C++ important compilé sous Visual Studio 2008. Je sais qu'il y a une quantité raisonnable de code "mort" qui n'est accessible nulle part - des méthodes qui ne sont pas appelées, des classes entières qui ne sont pas utilisées.
Je suis à la recherche d'un outil qui permettra d'identifier cela en analyse statique .
Cette question : Détection de code mort dans un projet C/C++ existant suggère d'utiliser des outils de couverture de code. Ce n'est pas une option, car la couverture des tests n'est tout simplement pas assez élevée.
Il mentionne également une option -Wunreachable-code. à gcc. J'aimerais quelque chose de similaire pour Visual Studio. Nous utilisons déjà l'option /OPT:REF de l'éditeur de liens pour supprimer le code redondant, mais elle ne signale pas le code mort à un niveau utile (lorsqu'elle est utilisée avec /VERBOSE, il y a plus de 100 000 lignes, y compris beaucoup de bibliothèques).
Existe-t-il de meilleures options qui fonctionnent bien avec un projet Visual Studio ?
0 votes
Nous avons écrit un programme AWK pour analyser ces "100k+ lignes" produites par le linker, et cela nous a permis de voir réellement ce qui se passe. Deux développeurs ont commencé lundi. Vendredi, nous avions un "noyau hérité" fonctionnel.