Sto provando a generare un grafo chiamante con cui scoprire tutti i possibili percorsi di esecuzione che stanno colpendo una funzione particolare (in modo da non dover calcolare manualmente tutti i percorsi, come ci sono molti percorsi che portano a questa funzione). Per esempio:Genera grafico chiamante per codice C++
path 1: A -> B -> C -> D
path 2: A -> B -> X -> Y -> D
path 3: A -> G -> M -> N -> O -> P -> S -> D
...
path n: ...
Ho provato Codeviz e Doxygen, in qualche modo entrambi i risultati mostrano solo callees di funzione target, D. Nel mio caso, D è una funzione membro di una classe cui oggetto sarà spostato all'interno di una smart puntatore. I clienti otterranno sempre l'oggetto puntatore intelligente attraverso una fabbrica per invocare D.
Qualcuno sa come ottenere ciò?
ci hai fatto questo su un progetto pluriennale di file? sembra molto bello come strumento – dirvine
Esiste un modo per fare in modo che le funzioni che non sono locali al file/file come tutte le funzioni std che si chiamano non vengano chiamate? – soandos
+1 Per qualche motivo ho dovuto passare l'opzione -n a C++ filt affinché i nomi venissero sbrogliati. Ho pensato di parlarne qui nel caso in cui qualcun altro dovesse affrontare lo stesso problema. – Aky