2012-01-16 10 views
30

He pasado un tiempo revisando los documentos y pasando por mi archivo de configuración doxy de principio a fin. Corté doxygen suelto en mi archivo de configuración y produce documentación e índices para structs y clases cpp, pero no veo gráficos de llamada o llamante para la multitud de funciones c en mi árbol fuente.cómo obtener doxygen para generar gráficos de llamadas y llamadas para funciones c

¿Alguien puede decirme cómo configurar doxygen para que produzca estos árboles de llamadas y llamantes? Tengo graphviz instalado.

+1

Puede agregar la salida de doxygen – Neox

Respuesta

41

usted tiene que fijar HAVE_DOT, CALL_GRAPH y CALLER_GRAPH a YES. También asegúrese de que la ruta a dot se encuentre en su variable PATH.

Si eso aún no funciona, es posible que tenga que configurar EXTRACT_ALL y/o EXTRACT_STATIC, dependiendo de sus funciones.

+0

Disculpas, tengo HAVE_DOT, CALL_GRAPH y CALLER_GRAPH en SÍ. Con "Variable PATH" supongo que te refieres a mi shell porque no parece haber ninguno en mi archivo doxy cfg. Sí, el punto está en mi camino (es decir, 'qué punto' funciona). No configuré EXTRACT_ALL ni EXTRACT_STATIC. De los comentarios, no parece que estos sean relevantes, pero lo intento ahora. Gracias por su respuesta. – user501138

+1

Si por alguna razón doxygen no puede encontrar punto, puede establecer manualmente la ruta a través de 'DOT_PATH' en su archivo Doxy. – pezcode

+6

+1: 'EXTRACT_ALL' y' EXTRACT_STATIC' funcionó para mí. –

4

Establecer el camino a "punto" (/ usr/local/bin /) a través de los controles de la pestaña "Experto" en la GUI hizo el truco!

5

doxywizard también es útil. Te da todas las opciones en una GUI. Seleccionar cualquier opción muestra ayuda rápida sobre esa opción.

También te puede interesar COLLABORATION_GRAPH o GRAPHICAL_HIERARCHY.

Muy conveniente.

+0

¡Dulce! Los encontré en Expert-> Dot en doxywizard. Tuve que habilitar HAVE_DOT primero. – thomasa88

1

Tuve el mismo problema para mis funciones globales de C. La habilitación de CLANG_ASSISTED_PARSING ayudó a mostrar los callgraphs para algunas funciones, pero no a todas.

Cuestiones relacionadas