Se connecter / S'enregistrer
Votre question

les fichiers en C

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
22 Novembre 2011 23:11:14

bonjour,
svp c'est quoi cet erreur ...je comprends pas pourquoi j'ai une boucle infini quand j'exécute mon programme
j'ai utiliser le gdb pour voir l'erreur et voici ce qu'il ma donné :
(gdb) run
Starting program:
No executable file specified.
Use the "file" or "exec-file" command

en attente de votre réponse
merci;

Autres pages sur : fichiers

a b L Programmation
23 Novembre 2011 17:43:02

ça serait peut-être pas mal de poster le code source :heink: 
a c 232 L Programmation
23 Novembre 2011 18:03:26

Y'a surtout aucun rapport entre une boucle infinie et une erreur "no executable file specified"...

Mais je vais prendre ma boucle de cristal, je reviens.
Contenus similaires
23 Novembre 2011 21:23:42

ok
a c 232 L Programmation
23 Novembre 2011 21:36:13

Et à quel endroit tu as une boucle infinie ?
23 Novembre 2011 21:38:14

j ne sais pas exactement :(  ,,,
23 Novembre 2011 22:59:12

Alors déjà, je te conseille de découper ton code en fonctions, parce que là, c'est assez indigeste comme truc.
Ensuite, pour détecter où est ta boucle inf, tu peux par exemple ajouter des printf de debug dans ton code, avant chaque while, ainsi tu verras à partir d'où ton code boucle inf.

Sinon, pour GDB, je sais pas sous quel système tu tournes, mais sous les UNIX-Like, il faut que tu lui donnes le nom de ton executable en argument.
Type :
Citation :


\____o> : gdb a.out
GNU gdb (GDB) Fedora (7.2-51.fc14)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/&gt;...
Reading symbols from /home/bouche_y/libx/a.out...(no debugging symbols found)...done.



(gdb) run
Starting program: /home/bouche_y/libx/a.out
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 481427 requests (463846 known processed) with 0 events remaining.

Program exited with code 01.
Missing separate debuginfos, use: debuginfo-install glibc-2.13-1.x86_64 libX11-1.3.4-4.fc14.x86_64 libXau-1.0.6-1.fc14.x86_64 libXext-1.1.2-2.fc14.x86_64 libgcc-4.5.1-4.fc14.x86_64 libxcb-1.7-1.fc14.x86_64



Mais effectivement, tu ne trouveras pas les boucles infs avec GDB, du moins, il ne me semble pas.
25 Novembre 2011 01:06:37

Moi123@IDN a dit :
Mais effectivement, tu ne trouveras pas les boucles infs avec GDB, du moins, il ne me semble pas.


C'est possible ! Il y a 2 solutions possible avec GDB pour identifier l'origine de son probleme : une execution pas a pas jusqu'a ce qu'il n'est plus la main, ou la backtrace. Quoi qu'il en soit dans son cas, GDB n'est surement pas la solution la plus adaptée
26 Novembre 2011 00:03:11

la boucle infini ets là :
  1. int nbr=2;
  2. int augmt=0;
  3. while(nbr <= sqrt(n)){
  4. id=fork();
  5. if (id==0) P1();
  6. else
  7. exit(-1);
  8. maj();
  9. augmt+=2;
  10. fseek(f,sizeof(int)*augmt,SEEK_SET);
  11. fread(&nbr,sizeof(int),1,f);
  12. }

nbr il ne change pas ,,a chaque fois jé la meme valeur ,, j ne sais pas pk
26 Novembre 2011 15:25:24

hey !

comme sa sur gdb ta fait un break ?

faut tu fais un break de la fonction ou et le probleme conseil fait un break main apres tu run et tu fais un watch variable ex : "watch i" et tu fais n pour lancer !
a test :) 

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS