IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Problème : Probleme lors de l'éxécution


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Par défaut Problème : Probleme lors de l'éxécution
    BOnjour a tous ,

    Je viens de terminer le codage de mon application .. Je travaillais jusqu'a lors sous visual C++ et exécutais mon programme via le boutton debug ...

    J'ai décidé d'arreter de me servir de visual C++ ("prise importante de ram") donc j'ai lancé la compilation d'un exécutable "release" mais quand je le lance ou quand je lance le .exe dans debug mon programme se vautre totalement ...

    J'ai aucun moyen de vérifier pk il plante en le lancant via un .exe ...
    SVP aidez moi


    PS : Apres avoir bidouillé un peu mon code ... J'ai trouvé d'ou venait mon probleme ...
    J'ai une fonction qui permet de transformer ma chaine "0000" -> "31313131"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    LONG StringToHex (std::string s) // StringToLong
    {
    	char * b = new char [s.size()] ;
    	for (int i(0) ; i < s.size() ; ++i)
    		b[i] = s[i] ;
    	char * c ;
    	return LONG(strtol (b,&c,16));
    }
    Donc aparement ca serait cette transformation qui changerait entre les 2 modes de lancement de mon programme.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    normal...
    tu as fabriqué une chaine sans le '\0' ,donc strtol se vautre puisqu'il cherche le premier '\0' dans la mémoire...
    et entre autre tu as oublié de libérer b ...
    tu aurais pu écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    LONG StringToHex (const std::string &s) // StringToLong
    {
       char * c ;
       return LONG(strtol (s.c_str(),&c,16));
    }

  3. #3
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Par défaut
    Je te remerci farscape je vais essayer

    Mais sait tu pourquoi ma fonction marche quand je test mon programme dans visual C++ mais quand je le lance via le .exe généré ca plante ....?

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par Juanes
    Je te remerci farscape je vais essayer

    Mais sait tu pourquoi ma fonction marche quand je test mon programme dans visual C++ mais quand je le lance via le .exe généré ca plante ....?
    le mode débug n'a jamais été une garantie de bon fonctionnement ou de non bugs : comme les débordements mémoire etc..
    dans ce type de bug tout est question de contexte mémoire,
    mais ça m'etonnerait qu'en debug le resultat de ta conversion soit toujours correcte...

  5. #5
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Par défaut
    Je t'assure que ca fonctionnait parfaitement !! C'est pour ca d'ailleur que j'ai été étonné qu'apres la compilation et l'exécution avec le .exe mon programme ne marchait plus ...

    Je te remerci et je vais essayer de travailler a "l'aveugle" pour vérifier que mon programme marche bien apres la compilation

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    désolé d'insister mais il faut arrêter avec :
    mon programme compile bien ,je comprends pas pourquoi ça plante.
    pourtant ça fonctionne en debug mais pas en release.
    la seule vérité c'est le code est ses règles d'écritures, si on ne les respecte pas par manque de connaissances ou de rigueur on s'expose à des comportements indéfinis.

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/02/2012, 13h53
  2. Problème lors de l'éxécution d'une page
    Par malgache dans le forum ASP.NET
    Réponses: 0
    Dernier message: 02/02/2012, 17h25
  3. [XL-2003] Problème avec Find lors d'une éxécution automatique
    Par gentyjp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/10/2010, 10h05
  4. Problème lors de l'éxécution d'un programme
    Par IlaeFlo dans le forum Général Python
    Réponses: 4
    Dernier message: 04/06/2007, 14h16
  5. problem lors de l'ecriture d'un fichier
    Par gemai dans le forum C
    Réponses: 20
    Dernier message: 29/08/2003, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo