Maison  >  Article  >  développement back-end  >  Comment récupérer les numéros de ligne pendant le débogage C/C ?

Comment récupérer les numéros de ligne pendant le débogage C/C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 11:24:02190parcourir

How to Retrieve Line Numbers During C/C   Debugging?

Récupération du numéro de ligne en C/C

Les processus de débogage nécessitent souvent une identification précise de la ligne source où un problème se produit. En C/C, la détermination des numéros de ligne est cruciale pour un débogage efficace.

Solution standard : macros de préprocesseur

Pour obtenir dynamiquement le numéro de ligne sans saisie manuelle, C/C propose les macros de préprocesseur LINE et __FILE__. Ces macros sont prédéfinies et reconnues par le compilateur lors du prétraitement.

  • __LINE__ : stocke le numéro de ligne actuel sous forme de constante entière.
  • __FILE__ : contient le nom du fichier actuel.

Exemple de code

En utilisant ces macros, vous pouvez modifier votre code pour inclure dynamiquement le numéro de ligne et le nom du fichier :

if (!Logical) {
  printf("Not logical value at line number %d in file %s\n", __LINE__, __FILE__);
}

Ce code modifié imprimera le numéro de ligne et le nom du fichier où la validation logique échoue.

Macros supplémentaires

C/C fournit également des variables de préprocesseur supplémentaires qui peuvent être utiles pour le débogage :

  • __func__ : contient le nom de la fonction en cours d'exécution (pris en charge dans C99, mais pas dans tous les compilateurs C).
  • __DATE__ : représente la date de compilation au format "MMM jj aaaa".
  • __TIME__ : fournit l'heure de compilation au format "hh:mm:ss".

L'inclusion de ces macros dans les impressions de débogage peut améliorer les informations disponibles pour le dépannage. La mise en œuvre de ces techniques améliorera considérablement l'efficacité de vos efforts de débogage C/C.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn