Je suis principalement un programmeur C et C++ et j'ai souvent besoin de comprendre rapidement la structure des bases de code très volumineuses (gcc, noyau Linux). Je me demande s'il y a des outils pour aider à cet égard. Je suis particulièrement intéressé par les graphes d'appel, les références de structure de données à travers le projet, les graphes de dépendance, la localisation rapide des symboles, etc. Je connais ctags et cscope mais je cherche quelque chose avec plus de visualisation comme un graphe d'appel. d'une fonction, enraciner le graphique lors d'un appel particulier, l'inverser (c.-à-d. localiser tous les appels à une fonction donnée), etc.Outils de navigation, de compréhension et de lecture de code source
Répondre
Veuillez essayer et utiliser SourceInsight. Il est très utile avec le code de navigation et de le comprendre. Il fournit la plupart des fonctionnalités demandées par vous.
Si vous voulez construire des graphiques d'appel, vous pouvez rouler les vôtres avec les codes -finstrument-functions
de GCC.
En fait, lorsque vous compilez un programme avec cette option activée, GCC appelle les fonctions suivantes chaque fois que le programme cible entre ou sort d'une fonction:
void __cyg_profile_func_enter (void *this_fn,
void *call_site);
void __cyg_profile_func_exit (void *this_fn,
void *call_site);
Ce que vous devez faire est de définir ces fonctions et écrire dans votre logique pour produire le graphique d'appel là. Explique comment vous pouvez produire un graphique d'appel en utilisant -finstrument-functions
et GraphViz. Tous les outils impliqués sont des logiciels libres et gratuits.
Bien sûr:
- Les graphiques GraphViz produit sont autonomes, et ne fait pas partie d'un IDE.
- Je ne suis pas vraiment sûr si la production d'un graphique d'appel de Linux (le noyau) est possible de cette façon.
Vous pouvez essayer cflow. Il vous donne un graf des appels de fonctions à l'intérieur. Ce n'est pas très flexible cependant.
- 1. Code de lecture - visualiseurs et outils de navigation utiles
- 2. Recommander Outil de compréhension de code source
- 3. Mauvaise compréhension du code source
- 4. Outils de révision de code et documents
- 5. source de compréhension des cartes
- 6. Lecture de code HTML à partir de la carte source
- 7. Matrices de compréhension - Rotation de lecture
- 8. flux de code compréhension
- 9. Base de compréhension framework source javascript
- 10. lecture javascript source de
- 11. Outils d'analyse et de visualisation de code MATLAB?
- 12. Pydev code de navigation?
- 13. lecture du code source du noyau Linux
- 14. extrait de code manque de compréhension
- 15. Navigation sur plusieurs sites/langages de code avec 1 source
- 16. outils Java de couverture de code qui prennent en charge les exclusions de ligne de source
- 17. GitHub source de navigation dynamique
- 18. éditeur de code en ligne open source avec la navigation
- 19. Outils d'exploration de concepts open source?
- 20. outils jQuery points de navigation défilants
- 21. code source de shaders standards
- 22. Lecture 2.1 et Angularjs: organisation de code
- 23. Code source de l'événement Kentico Code source
- 24. Barre de navigation CSS (source de confusion)
- 25. Outils open source de suivi des exigences?
- 26. RAML 1.0 Open source Outils de conception
- 27. Outils, processus et applications open source de sécurité cloud
- 28. Code source ouvert pour la lecture de PDF dans Android
- 29. Compréhension de l'alternateur et compréhension de la liste itérer différemment
- 30. lien vers le système de contrôle de code source p4 dans les outils de Redgate
RTCM - lisez le manuel du compilateur. La plupart des compilateurs font ce que vous voulez et je pense que les compilateurs que vous utilisez ne font pas exception. –