2009-08-07 18 views
21

Ho una grande base di codice Win32 al 95% C, 5% C++ che sto tentando di eliminare.Utilità call-graph C/C++ per piattaforma Windows

Quali strumenti moderni sono disponibili per generare diagrammi di call-graph per progetti C o C++?

+2

+1 perché voglio vedere le risposte anche a questo. –

+0

Puoi provare cppdepend (http://www.cppdpend.com) che dà la possibilità di generare grafici per progetti molto grandi. –

risposta

15

Hai provato doxygen e codeviz?

Doxygen viene normalmente utilizzato come strumento di documentazione, ma può generare grafici di chiamata per te con le opzioni CALL_GRAPH/CALLER_GRAPH attivate.

Wikipedia elenca un gruppo di altri options che è possibile provare.

+1

+1: per doxygen e codeviz. –

+1

+1: per doxygen – NTDLS

3

Buon vecchio cflow funziona bene per C. Vedere here per un'implementazione.

1

Qualsiasi strumento di analisi statica decente dovrebbe avere questa funzionalità (così come tutte le altre cose che tali strumenti fanno). Wikipedia ha una buona lista di tali strumenti.

Un altro gruppo di strumenti che potrebbe essere utile verificare sono gli strumenti di copertura. Il grafo delle chiamate generato dallo strumento di copertura conterrà solo le chiamate effettivamente effettuate durante una corsa del programma. Inizialmente questo potrebbe essere più utile di un grafico di chiamata completo. Non sono in grado di fornire suggerimenti su questo per Windows, ma per i progetti Linux consiglio vivamente lo gcov e lo lcov.

Problemi correlati