2010-06-19 16 views
2

J'ai des fonctions de débogage qui sont appelées dans à peu près toutes les fonctions d'un grand programme. Ils sont conditionnellement activés par une variable macro définie. Je ne veux pas que cela apparaisse dans les graphiques d'appel, car je peux être à peu près sûr que chaque fonction les a. Est-il possible d'exclure la fonction du grapheComment exclure une fonction d'un graphe d'appel dans Doxygen?

/*! Step 3: 
* @callgraph 
*/ 
void step3(double * phi, //... 
{ // CODE: 
/// inner_quadratic_form: 
/// \f$ s = (\phi_j^{\mathrm{(old)}})^T \Sigma_{\alpha\alpha} \phi_j^{\mathrm{(old)}}+1 \f$ 
double s = 1.0;debug_arg(s); 
inner_quadratic_form(&s, old_phi_row, &one, ka, Saa, ka, dl, dp); 
s+=1.0;debug_arg(s); 
} 

par exemple, la forme inner_quadratic doit être dans le graphe d'appel mais le debug_arg (s) ne fonctionne pas. Je pense que c'est différent de ce qui est déjà là parce que j'ai besoin de debug_arg documenté mais n'apparaissant pas dans les graphiques d'appel.

Répondre

1

Comment désactiver conditionnellement debug_arg()? Si debug_arg() est une macro définie ainsi:

#if defined INCLUDE_DEBUG 
#define debug_arg(s) debug_arg_function(s) 
#else 
#define debug_arg(s) 
#endif 

alors tant que vous ne spécifiez pas INCLUDE_DEBUG dans le code ou la configuration Doxygen, alors il n'y aura pas d'appel de fonction à documenter.

Il est préférable de spécifier INCLUDE_DEBUG sur la ligne de commande plutôt que dans le code afin de ne pas avoir à modifier le code pour générer la documentation.

+1

Cela fonctionne pour le code de débogage, et c'est ainsi qu'ils sont définis. Il y a aussi une poignée de fonctions d'aide spéciales qui exécutent des fonctions spéciales telles que la gestion spéciale de l'allocation de mémoire, que je ne peux pas désactiver mais dont je n'ai pas vraiment besoin dans les graphiques d'appel non plus. Ce serait bien s'il y avait un moyen de lui spécifier la documentation des fonctions quelque chose comme \ ExcludeFromCallGraph qui ne devrait pas apparaître dans les graphiques d'appel. –