J'ai dû définir un nouvel ensemble de wrappers pour les méthodes existantes. Ces nouveaux wrappers ont pour but d'aider au débogage en incluant certaines informations de suivi.Liaison d'appels de méthode
Code Source d'origine:
Sample.c ::
Caller{
void functionA(){
funcB();
}
}
Callee{
void funcB(){
}
}
modifié Code avec fonctionnalité traditionnelle Wrapper:
Sample.h ::
#define funcB wrapperFuncB //not visible to Callee
Caller{
void functionA(){ //this gets redirected to wrapperFuncB cos of #define
funcB();
}
}
Callee{
void wrapperFuncB(){
if(DEBUG){ //value of DEBUG is set at runtime
//COLLECT Trace data
}else{
funcB();
}
}
void funcB(){
}
}
Ce mécanisme a le surcoût supplémentaire de: 1] Tous les appels à funcB est ro bué à wrapperFuncB, irrespecitve de DEBUG activé ou non 2] Une trame de procédé supplémentaire [wrapperFuncB] doit être créé, irrespecitve de DEBUG activé ou non 3] Une tête d'un contrôle conditionnel
Bon pour vous. As-tu une question ? – ereOn
Cela ne ressemble pas à C. Balise supprimée. – pmg