Tengo un código fuente de terceros que debo investigar. Quiero ver en qué orden las funciones son los llamados pero no quiero perder mi tiempo escribiendo:Agregando automáticamente registros de función de entrada/salida a un proyecto
printf("Entered into %s", __FUNCTION__)
y
printf("Exited from %s", __FUNCTION__)
para cada función, ni quiero tocar cualquier fuente archivo.
¿Tiene alguna sugerencia? ¿Hay una bandera del compilador que automágicamente hace esto por mí?
Aclaraciones a los comentarios:
- cruzaré-compilar el código fuente de ejecutarlo en el brazo.
- Lo compilaré con gcc.
- No quiero analizar el código estático. Quiero rastrear el tiempo de ejecución. Entonces doxygen no hará mi vida más fácil.
- Tengo la fuente y puedo compilarla.
- No deseo utilizar la Programación Orientada a Aspectos.
EDIT: He encontrado ese comando 'marco' en el BGF impresiones inmediatas del cuadro actual (o, nombre de la función, se podría decir) en ese punto en el tiempo. Quizás, es posible (usando scripts gdb) llamar al comando 'frame' cada vez que se llama a una función. ¿Qué piensas?
¿Qué entorno? – t0mm13b
http://stackoverflow.com/questions/1173962/run-code-before-every-function-call-for-a-class-in-c/1174652 –
@bmm: ¿Tiene la fuente del tercero que en realidad puedes compilar? – t0mm13b