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 :

une exception à comprendre


Sujet :

Visual C++

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 022
    Points : 329
    Points
    329
    Par défaut une exception à comprendre
    bonjour
    J'ai une exception sur le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( GetUIntValue( wsTempSection, wsTempKeyName, dwDefaultValue, dwValue) != INIT_NO_ERROR)
    L'exception est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception de première chance à 0x771cee03 dans SpecificationLoader.exe*: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000004.
    elle se passe dès que je fais F11 sur le clavier.
    Qui m'orientera sera

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : février 2005
    Messages : 4 756
    Points : 11 343
    Points
    11 343
    Par défaut
    Tes paramètres sont foireux, le débuggeur est ton ami.

  3. #3
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 022
    Points : 329
    Points
    329
    Par défaut J'ai convertit les paramètees
    J'ai convertis les paramètre en début de routine, pour avoir des paramètres locaux;je met le code de la méthode;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    			for each( pOptionEx in pstListOptionEx)
    			{
    				System::String^ wsTempSection = pOptionEx->sSectionName;
    				System::String^ wsTempKeyName = pOptionEx->sKeyName;
    				System::String^ wsDefaultValue = pOptionEx->sDefaultValue;
    				unsigned int dwDefaultValue = pOptionEx->dwDefaultValue;
    				unsigned int dwValue = pOptionEx->dwValue;
    				switch( pOptionEx->iType)
    				{
    					case 0:
    						if( GetStringValue( wsTempSection, wsTempKeyName, wsDefaultValue, pOptionEx->sValue) != INIT_NO_ERROR)
    						{
    							CStrConv::CreateReturnCode( enTYPEM::TYPE_ERROR, MSG_CANT_GET_STRING_VALUE, enModuleIDM::MODULE_ID_OPTION_MANAGER, (int)enObjectClass::UTILITY_OPTION_MANAGER_COPTION_METHOD, (int)enObjectClass::GET_LIST_OF_VALUE, CANT_GET_STRING_VALUE);
    							return ErrorCode;
    						}
    						else
    						{
    							wsSection = pOptionEx->sSectionName;
    							wsKey = pOptionEx->sKeyName;
    							wsDefault = pOptionEx->sDefaultValue;
    							wsValue = pOptionEx->sValue;
    						}
    						break;
    					case 1:
    						if( GetUIntValue( wsTempSection, wsTempKeyName, dwDefaultValue, dwValue) != INIT_NO_ERROR)
    						{
    							CStrConv::CreateReturnCode( enTYPEM::TYPE_ERROR, MSG_CANT_GET_UINT_VALUE, enModuleIDM::MODULE_ID_OPTION_MANAGER, (int)enObjectClass::UTILITY_OPTION_MANAGER_COPTION_METHOD, (int)enObjectClass::GET_LIST_OF_VALUE, CANT_GET_UINT_VALUE);
    							return ErrorCode;
    						}
    						break;

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : février 2005
    Messages : 4 756
    Points : 11 343
    Points
    11 343
    Par défaut
    Et ?
    Utilisez votre débogueur pour vérifier vos paramètres au runtime.

  5. #5
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 022
    Points : 329
    Points
    329
    Par défaut le point de la situation
    J'ai travaillé sur les paramètre et j'ai un problème sur une fonction qui généralement travaille bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const wchar_t* chars = (const wchar_t*)(Marshal::StringToHGlobalUni( wsDefaultValue)).ToPointer();
    j'ai "clWhite" en entrée dans wsDefaultValuie, ce qui est consistent, et j'ai une bouillie dans chars

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2005
    Messages
    27 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

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

    Informations forums :
    Inscription : septembre 2005
    Messages : 27 194
    Points : 40 763
    Points
    40 763
    Par défaut
    J'ai l'impression que tu cherches à programmer en C++/CLI sans même vraiment comprendre comment la mémoire est gérée en C++ natif. Et je répète ma question: Quelle version de Visual Studio utilises-tu? On a besoin de savoir quels outils sont à ta disposition...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 022
    Points : 329
    Points
    329
    Par défaut Je compile avec Visual Studio 2012
    et J'ai traité les variables l'une après l'autre jusqu’à ce que ça marche

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2005
    Messages
    27 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

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

    Informations forums :
    Inscription : septembre 2005
    Messages : 27 194
    Points : 40 763
    Points
    40 763
    Par défaut
    Dans ce cas, cesse de te prendre le chou et utilise marshal_as()!!
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : février 2005
    Messages : 4 756
    Points : 11 343
    Points
    11 343
    Par défaut
    Vous faites trop de chose en une ligne.
    Débuggez étape par étape.

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

Discussions similaires

  1. Bien comprendre une exception
    Par gabdeschenes dans le forum ASP.NET
    Réponses: 1
    Dernier message: 09/07/2009, 22h42
  2. Comment Comprendre une Exception ?
    Par kamaldev dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 20/02/2008, 21h32
  3. [JSP] Affichage numéro de ligne d'une exception
    Par PhoneKilleR dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 23/09/2003, 14h59
  4. Réponses: 2
    Dernier message: 28/08/2003, 00h00
  5. Réponses: 3
    Dernier message: 01/11/2002, 14h30

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