Pauses pendant un programme en C
Résolu
cucrapock
Messages postés
16
Statut
Membre
-
tchsimons Messages postés 207 Statut Membre -
tchsimons Messages postés 207 Statut Membre -
Bonjour,
comment peut on faire pour marquer une pause dans un programme en langage C. J'ai essayé les printf et les scanf mais ils ont tendance à ne pas être pris en compte lorsqu'il se trouve, par exemple, juste avant une erreur de segmentation (que l'on cherche à repérer d'ailleurs...).
D'avance merci
comment peut on faire pour marquer une pause dans un programme en langage C. J'ai essayé les printf et les scanf mais ils ont tendance à ne pas être pris en compte lorsqu'il se trouve, par exemple, juste avant une erreur de segmentation (que l'on cherche à repérer d'ailleurs...).
D'avance merci
A voir également:
- Pauses pendant un programme en C
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
- Forcer la fermeture d'un programme - Guide
2 réponses
Pour faire une pause (ie attendre que l'utilisateur presse une touche) il suffit d'utiliser l'instruction getchar() :
Pour repérer l'endroit et la cause d'une erreur de segmentation le mieux c'est d'utiliser un debugger. Compile les fichiers .c avec l'option -g (si tu utilises gcc), puis lance gdb :
Dans gdb lance le programme en mettant derrière r les eventuels paramètres pris par ton code :
Inévitablement la seg fault va se déclencher. Il suffit d'afficher la pile d'appel pour savoir exactement où le programme à planté (et pourquoi), en tapant :
Bonne chance
#include <stdio.h>
int main(){
printf("presse une touche !\n");
getchar();
printf("fin\n");
return 0;
}
Pour repérer l'endroit et la cause d'une erreur de segmentation le mieux c'est d'utiliser un debugger. Compile les fichiers .c avec l'option -g (si tu utilises gcc), puis lance gdb :
gcc -g -W -Wall plop.c -o plop.exe gdb plop.exe
Dans gdb lance le programme en mettant derrière r les eventuels paramètres pris par ton code :
r param1 param2 ....
Inévitablement la seg fault va se déclencher. Il suffit d'afficher la pile d'appel pour savoir exactement où le programme à planté (et pourquoi), en tapant :
bt
Bonne chance
cucrapock
Messages postés
16
Statut
Membre
4
Merci beaucoup pour l'info :)