Bonjour à tous,
En cette belle journée de samedi, j'ai l'immense change de devoir débugger en urgence un programme C qui ne fonctionne plus comme avant, suite à changement d'OS (AIX 4 -> AIX 5).
Evidemment, ce prog n'a pas été recompilé.
Le truc bizarre, c'est que le programme est très volumineux (il fait énormément de lectures/écritures/déplacements de fichiers + contrôles de chaînes de caractères) mais que j'ai un bug (régression ?) sur une toute petite partie : 2 lectures consécutives dans un fichier texte, avec des fgets.
La première ligne lue ainsi est toujours vide (le programme l'affiche ensuite dans un fichier), la deuxième passe nickel.
Alors je ne vais pas vous demander de débugger le programme, mais j'ai quelques questions, n'étant pas du tout spécialiste en C :
1- suite à un changement d'OS sans aucune modif d'architecture, faut-il obligatoirement recompiler ?
2- Ce type de bug très ciblé est-il courant (12 000 lignes de code marchent, 4 non... évidemment ça fonctionnait avant) ?
3- si je souhaite recompiler, dois-je obligatoirement utiliser le même compilateur que celui utilisé initialement (le programme datant de 2003, j'espère avoir toutes les sources et je ne connais pas la version du compilateur utilisé...). J'ai essayé de le recompiler avec gcc4.1, ça compile mais il plante ensuite dès le début de l'exécution.
4- des idées sur des bugs de ce genre avec fgets ?
Merci beaucoup d'avance