Ca compile mais erreur au lancement du exe... [C++] - C++ - Programmation
Marsh Posté le 22-12-2003 à 10:18:14
un probleme de pointeur null, ou un truc du genre, je dirais...
Marsh Posté le 22-12-2003 à 10:29:44
masure a écrit : merci, je v regarder voir... |
si tu le fais pas déjà, je te conseille (en phase de debuggage) d'utiliser massivement la fonction assert pour verifier tes parametres.
Marsh Posté le 22-12-2003 à 10:31:21
bon tout le monde va me huer mais j'avoue que le debuggage au vrai sens du terme (cad avec des outils de debuggage je connais po 0 ). Je fais avec cout...
la je v me faire taper lol
Marsh Posté le 22-12-2003 à 10:32:43
bon je vais apprendre comment debugger efficacement... je my met de suite promi
Marsh Posté le 22-12-2003 à 10:34:38
masure a écrit : bon tout le monde va me huer mais j'avoue que le debuggage au vrai sens du terme (cad avec des outils de debuggage je connais po 0 ). Je fais avec cout... |
alors le conseil de tonton jotb qui n'est pas une brute en prog :
Code :
|
Avec ça, tes debuggages seront moins fastidieux.
Marsh Posté le 22-12-2003 à 12:07:52
ReplyMarsh Posté le 22-12-2003 à 12:15:40
Taz a écrit : de pas utiliser assert pour exprimer des contraintes. |
explique, please.
Je m'en sers pour écrire des préconditions, je m'interroge maintenant...
Marsh Posté le 22-12-2003 à 12:22:16
parce que si la condition est fausse:
1) appelle à *exit, aucun traitement de l'erreur possible, aucun destructeur n'est exécuté, c'est un vrai massacre et c'est très convivial pour l'utilisateur
2) compile en -DNDEBUG et magique, y a plus d'assert.
si vous voulez travaillez (par ce qu'assert c'est la foutaise de merde de C faites pour cerner un bug quand on debug, un logiciel final ne doit pas en contenier), vérifier vos contraintes et renvoyez des code d'erreurs ou balancez des exceptions
Marsh Posté le 22-12-2003 à 12:29:50
j'ai jamais dit que c'etait à utiliser sur une version finale. Je me suis mal exprimé en parlant de débugguer.
Marsh Posté le 22-12-2003 à 12:32:27
jotb a écrit : j'ai jamais dit que c'etait à utiliser sur une version finale. Je me suis mal exprimé en parlant de débugguer. |
tu m'explique ce que tu peux débugger comme ça ? vlan ton programme s'arrête t'es bien avancé
Marsh Posté le 22-12-2003 à 12:34:56
Taz a écrit : tu m'explique ce que tu peux débugger comme ça ? vlan ton programme s'arrête t'es bien avancé |
il te marque un message dans la console je rappelle, signalant que l'assertion bla bla à tel endroit n'a pas été vérifiée.
Marsh Posté le 22-12-2003 à 12:38:19
et t'en fait quoi ? mince alors ligne bordel le machin était égal à 0 . t'es bien avancé ... allez soit un peu sérieux, quand on débuggue on utilise un débugguer qui permet de monitorer le contenu des variables et de suivre le fil d'exécution du dit programme
Marsh Posté le 22-12-2003 à 12:40:06
Taz a écrit : et t'en fait quoi ? mince alors ligne bordel le machin était égal à 0 . t'es bien avancé ... allez soit un peu sérieux, quand on débuggue on utilise un débugguer qui permet de monitorer le contenu des variables et de suivre le fil d'exécution du dit programme |
oui oui d'accord. N'empeche que je pense que c'est utile, et je travaille avec les 2.
Marsh Posté le 22-12-2003 à 12:42:35
mais ça sert à exprimer une quelconque contrainte. en C++ l'utilisation d'assert même en debuggage doit rester margianl
Marsh Posté le 22-12-2003 à 12:43:26
Taz a écrit : mais ça sert à exprimer une quelconque contrainte. en C++ l'utilisation d'assert même en debuggage doit rester margianl |
tu en penses la même chose en Java ?
Marsh Posté le 22-12-2003 à 12:46:38
Taz a écrit : je fais pas de Java de merde |
Arf, bon.
Je reconnais que les exceptions c'est plus propre, mais c'est plus fatigant à faire
Marsh Posté le 22-12-2003 à 12:55:37
Taz a écrit : et t'en fait quoi ? mince alors ligne bordel le machin était égal à 0 . t'es bien avancé ... allez soit un peu sérieux, quand on débuggue on utilise un débugguer qui permet de monitorer le contenu des variables et de suivre le fil d'exécution du dit programme |
Quand tu n'as pas de debuggeur qui marche (j'ai connu le cas sur win3.1 avec un compilo exotique), ca peut eventuellement etre utile [en fait on avait ecrit du code qui nous faisait une trace des appels de fonctions sur la pile de maniere plus ou moins automatique, parce que un assert dans du code recursif, sans connaitre un tant soit peu la pile ca file pas beaucoup d'infos]
A+,
Marsh Posté le 22-12-2003 à 12:59:23
Taz a écrit : je fais pas de Java de merde |
Chaque année, les infarctus font des milliers de victimes en France (et en Gelbique). Alors prenez la bonne decision et dites: "Aujourd'hui, j'arrete de troller!". C'est un conseil du ministere de la santé.
A+,
Marsh Posté le 22-12-2003 à 13:01:09
Merci pour les "pour" et les "contre", en attendant j'ai dl la derniere version de devcpp pour utiliser le debugger fourni.
Ca a l'air assez instable mais je v ptet avancer.
Marsh Posté le 22-12-2003 à 10:15:15
J'ai programmé un stratego avec dev c++. Je resous les erreurs de compil et de linker, bref ca compile...
J'exec et la :
"This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for more information."
Je regarde ce qui fait planter :
- l'instanciation de mon principal objet passe
- des que j'appelle une methode qui est sensée initialiser un peu la partie (c'est pas le constructeur hein), il me sort cette erreur
qqun a une idee ?