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

MFC Discussion :

debuf assertion failed bloquant pour une CGI


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut debuf assertion failed bloquant pour une CGI
    J'ai un exécutable de test qui crée une session internet qui me provoque le message classique "Debug Assertion Failed". Voilà le code qui me provoque l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       CInternetSession *sess = NULL;
       sess = new CInternetSession();
    La création d'une instance de CInternetSession plante.
    Si j'ignore le message d'erreur, tout va bien, je peux continuer mon traitement (pas super quand-même).
    Maintenant, la création d'une instance de CInternetSession est faite dans une CGI qui est appelée par un service internet local. Pour debugger ma CGI, j'ai fait afficher une popup avec un bouton OK pour que j'aie le temps d'ouvrir Visual C++ et de débugger la CGI.
    Quand arrive le moment de la création d'une instance d'InternetSession, le code bloque sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return (*pfnMessageBoxA)(hWndParent, lpText, lpCaption, uType);
    ligne de code qui se trouve dans le fichier CRTMBOX.c et dans la fonction qui affiche un message (le fameux message Debug Assertion Failed).
    Seulement, le message n'apparaît pas et je me retrouve coincé avec ma CGI.
    Donc, quelqu'un aurait une idée pourquoi est-ce que j'ai ce message (qui apparaît d'habitude lors des écrasements mémoire) sur du code qui n'est pas à moi et pourquoi la fenêtre d'erreur ne s'affiche pas quand je debugge une CGI que je n'ai pas lancée via Visual C++ ?
    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Dans la petite fenêtre Call Stack du débogueur, remonte la pile des appels pour trouver où est le assert qui plante. Sinon, tu as normalement la condition + le numéro de ligne + le fichier dans le message d'erreur généré par assert.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Le assert qui plante est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pstrAgent = AfxGetAppName();
    dans INET.cpp mais je ne vois pas pourquoi même en faisant du debug pas à pas.

  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
    et bien a mon avis ton application n'est pas graphique MFC ,
    donc afxGetApp() renvoie null
    il faut que tu fournisses un nom dans le constructeur dans ce cas ,voir MSDN.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Merci beaucoup, j'ai passé une chaine vide dans le new CInternetSession, ça a marché, j'aurais jamais trouvé.
    Thank you very much !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2009, 12h34
  2. debug assertion failed sur un delete venant d'une DLL
    Par italiasky dans le forum Visual C++
    Réponses: 13
    Dernier message: 02/12/2008, 15h02
  3. Réponses: 1
    Dernier message: 10/09/2008, 09h23
  4. [cgi] [D3] [OVH] Pour une exécution basique
    Par Archibald29 dans le forum Delphi
    Réponses: 9
    Dernier message: 25/03/2007, 23h52
  5. [D2005][CGI] Nom de fichier pour une image
    Par Argonaute dans le forum Web & réseau
    Réponses: 1
    Dernier message: 30/08/2005, 12h56

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