Bonjour,
Akim Demaille wrote:
>>> "VR" == Vincent Richomme
<vrichomme(a)smartmobili.com> writes:
[...]
Donc ce que je voudrais c'est un parser qui
ajoute un frprintf par
exemple pour logguer la fonction executée.
C'est une des fonctionnalités des langages à aspects. Il existe
peut-être des outils pour faire de C à aspects.
MyFunc.c
---------
void myfunc(int aFoo)
{
...
}
Je voudrais que le parser ajoute une ligne du
genre
void myfunc(int aFoo)
{
fprintf(stderr, "MyFunc.c::myfunc(int aFoo)");
...
}
Bon ensuite j'imagine que vu le nombre de
logs il faudrait pouvoir avoir
une liste d'exclusion pour dire de ne pas
logguer certains fonctions mais je n'en suis pas encore la.
Si c'est juste pour déboguer, et que vous utilisez toujours GCC pour
compiler, jetter un coup d'oeil du côté de l'option
-finstrument-functions et de __cyg_profile_func_enter() de GCC (Google
donnera toutes les réponses ;) ).
Certains projets tels que etrace les utilisent pour faire exactement ce
que vous semblez vouloir faire, de manière non intrusive.
--
Vincent Ordy