Cómo generar un gráfico de llamada para código C ++
Estoy tratando de generar un gráfico de llamadas con el que encontrar todas las rutas de ejecución posibles que están afectando a una función en particular (para que no tenga que averiguar todas las rutas manualmente, ya que hay muchas rutas que conducen a esto función). Por ejemplo
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: ...
He intentado Codeviz y Doxygen, de alguna manera ambos resultados muestran nada más que funciones de la función de destino, D. En mi caso, D es una función miembro de una clase cuyo objeto estará envuelto dentro de un puntero inteligente. Los clientes siempre obtendrán el objeto puntero inteligente a través de una fábrica para invocar D.
¿Alguien sabe como lograr esto