Je pense que votre meilleure chance serait probablement un outil de couverture. Il y en a beaucoup pour *nix et Windows. Si vous avez des tests unitaires, c'est facile - si vous avez une faible couverture de test, alors le code non couvert est soit mort, soit pas encore testé (vous voulez les deux éléments de cette information de toute façon). Si vous n'avez pas de tests unitaires, construisez votre application avec l'instrumentation fournie par l'un de ces outils, exécutez-la par quelques chemins d'exécution (idéalement tous), et consultez le rapport. Vous obtiendrez les mêmes informations qu'avec les tests unitaires, mais cela vous demandera beaucoup plus de travail.
Puisque vous utilisez VisualStudio, je peux vous fournir quelques liens que vous pouvez envisager d'utiliser :
Aucune d'entre elles n'est gratuite, ni même bon marché, mais le résultat en vaut généralement la peine.
Sur les plates-formes de type *nix gcov couplé à des outils comme zcov o lcov est un très bon choix.
2 votes
Utilisez une sorte d'outil de couverture de code. J'allais suggérer
gcov
mais je ne sais pas ce qui est disponible en VC.0 votes
Nous avons utilisé Bullseye avec succès. Voici un lien pour une copie d'évaluation. bullseye.com/evaluation.html
0 votes
Cette question a une excellente solution pour gcc : Existe-t-il un moyen de faire en sorte que gcc soit averti des fonctions inutilisées ?