fermeture soudaine de la console [C] - C - Programmation
Marsh Posté le 22-10-2007 à 17:30:28
Il faut suivre le programme pas à pas.
Pour cela, on peut utiliser le débogguer, ou bien écrire des traces dans un fichier.
Avec Dev-CPP, j'ai remarqué un comportement étrange parfois si les sources étaient compilés et linkés avec le compilateur C, mais aucun problème avec le compilateur C++ avec les mêmes programmes C. Cela se paramètre au niveau du projet avec un clic droit sur chaque fichier source.
Marsh Posté le 22-10-2007 à 17:47:58
Sinon, avec MinGW, je te conseille fortement d'utiliser DrMinGW (fait partie des mingw-utils). C'est un petit programme qui va intercepter les erreurs (segv, floatting point) et te montrer où il a planté (un backtrace avec les sources si compilé avec les symboles de debug). Ce n'est pas parfait, mais dans mon cas 9 fois sur 10, ça me donne le bon endroit.
Marsh Posté le 22-10-2007 à 21:55:30
vulkanosaure a écrit : J'ai developpé une application en C++ en mode console, |
Et bien sûr tu postes ça dans le forum C sans donner le moindre code... logique...
Marsh Posté le 24-10-2007 à 12:37:43
Merci pour vos réponse. J'ai réussi à cibler mon erreur en faisant mon appli ecrire dans un fichier texte externe tout au long de l'appli (comme l'avait suggéré olivthill). J'ai donc pu remonter à la ligne fonction exacte qui provoquait la fermeture.
Marsh Posté le 22-10-2007 à 17:10:41
Bonjour,
J'ai developpé une application en C++ en mode console,
le problème est que mon application se ferme parfois brusquement (sans meme un message d'erreur windows) à des moments indeterminés (difficile d'établir une logique entre l'algorythme et le moment de fermeture), ce qui me laisse donc très peu de chance pour pouvoir la debugger.
J'ai observé l'utilisation de mémoire vive de mon programme durant son execution, et la memoire reste stable, il ne me semble donc pas y avoir de grosses fuites de mémoire.
Mes questions sont les suivantes :
- d'ou peut venir ce type d'erreur (accès memoire non autorisé...?)
- connaitriez vous des moyens qui me permettrait de pister l'erreur ? (débugger, ...)
PS : Je développe sous Dev-Cpp.
Merci d'avance.
Vincent