Básicamente quiero herramientas que generan la visualización del código fuente como:Visualización de código fuente C/C++?
- gráfica llamada a la función
- gráfico de dependencias
- ...
Básicamente quiero herramientas que generan la visualización del código fuente como:Visualización de código fuente C/C++?
Puede ser una duplicación, pero echa un vistazo a ollydbg, IDA Pro y this website tiene un montón de recursos con algunas imágenes muy sexys.
Doxygen es realmente excelente para esto, aunque tendrá que instalar GraphViz para obtener los gráficos para dibujar.
Una vez que tienes todo instalado, es realmente bastante simple dibujar los gráficos. Asegúrese de establecer EXTRACT_ALL y CALL_GRAPH en verdadero y debe estar listo para continuar.
La documentación completa de esta función para Doxygen es here.
Dulce. Muy sencillo de usar. GraphViz modifica la ruta del sistema y doxygen lo usa. – bobobobo
+1 Acepto. Doxygen es una herramienta muy útil cuando se explora el código existente. Marque la opción que genera el código fuente y navegue fácilmente por su base de código sin abrir el editor de código ... – neuro
Asegúrese de también HAVE_DOT = SÍ – polypus74
Usted puede mirar en diferentes herramientas para el diseño y modelado de software ( Rational Rose, Sparx Enterprise Architect, Umbrello, etc). La mayoría de ellos tiene alguna funcionalidad para invertir el modelado por código fuente y obtener diagramas de clase UML, y en ocasiones incluso diagramas de secuencia (y esto está muy cerca de las funciones de gráfico de llamadas).
Pero después de obtener algunas imágenes en una base de código de proyecto realmente grande, puede darse cuenta de que tales gráficos son difíciles de leer y comprender. Desafortunadamente las capacidades de visualización de complejidad son muy limitadas.
En cuanto a mí, utilizar el modismo "divide y rige" es un enfoque más conveniente. Puede extraer diferentes bloques o capas de funcionalidad de su base de código (simplemente clasificando archivos cpp por carpetas diferentes a veces). Otra forma es usar algunos scripts (bash, python) para crear tablas csv simples con los parámetros interesados de los archivos, clases o funciones como "número de dependencias", etc.
+1 buen comentario. – neuro
Recomiendo encarecidamente BOUML. Es una aplicación de modelado UML libre, que:
Así que: importe su código en BOUML y mire allí, o expórtelo a SVG y visualícelo en Firefox.
Para la versión gratuita:
+1 para herramientas UML gratuitas que merecen ser probadas. – neuro
El instalador de Windows para 4.23.7 se puede encontrar en la misma página de sourceforge que Douml en la sección "Archivos". – Zeks
http://launchpad.net/~pasgui/+archive/ppa/ este chico está creando compilaciones regulares para douml debian/ubuntu Como @Zeks sugirió en otro hilo. – kikeenrique
Hay una vieja herramienta llamada CDOC que todavía se utiliza para generar la llamada árboles.
Si usa Visual Studio, la versión Ultimate 2010 le permite generar diagramas de secuencia y gráficos de dependencia. Sin embargo, el lanzamiento actualmente solo admite proyectos de aplicaciones .NET.
El equipo ha recibido mucho interés en apoyar C++ en una versión futura, por lo que es posible que desee permanecer atentos. Mientras tanto, puede publicar en el foro VS Architectural Discovery & Herramientas de modelado en http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads para solicitar una actualización. Sé que al equipo del producto le encanta escuchar los comentarios de los clientes sobre las herramientas.
Mientras tanto, se puede obtener más información sobre la creación de diagramas de secuencia y diagramas de dependencia de código .NET en los siguientes temas:
Cómo: Buscar código Utilizando el Explorador de Arquitectura: http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx
Cómo a: generar documentos Gráfico del Código: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource
Cómo: Explora código con diagramas de secuencia: http://msdn.microsoft.com/en-us/library/ee317485%28VS.100%29.aspx
para Probar la versión RC y proporcionar información, descargarlo en http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a
Además de herramientas escritas anteriormente, puede intentar understand. Pero, no es gratis.
Tienen una versión de prueba que puede ser bastante útil. – karlphillip
¿quiere decir dependencias en interfaces (por ejemplo, diagramas de herencia) o dependencias en implementaciones (gráfico de llamadas, por ejemplo, hay un borde de la función A a B si A llama a B en su cuerpo)? – Krystian
Puede probar CppDepend (http://www.cppdepend.com) donde puede generar gráficos de función call graph/dependency y filtrar los elementos en el gráfico utilizando CQLinq.CppDepend es gratuito para los contribuyentes de código abierto. –