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

C++ Discussion :

message debuger GDB cannot access memory


Sujet :

C++

  1. #1
    Membre �clair� Avatar de nekcorp
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2006
    Messages
    592
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 592
    Par d�faut message debuger GDB cannot access memory
    bonjour,

    alors j'ai un soucis, lorsque je debug mon code ci dessous :

    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
    void CSVParser::checkDataContent()
    {
        ILogger *logger = initLogger(INFO, true);
     
        std::vector<std::string> data;
        data.resize(m_data.size());
        data=m_data;
     
        //Create the vector that begin at the index 2 of the data vector.
        if(!data.empty())
        {
            auto start = std::next(data.begin(), 2);
            std::vector<std::string> sub_data(start, data.end());
            for (auto &it: sub_data)
            {
                try
                {
                    std::stod(it);
                }
                catch (const std::exception &e)
                {
                    logger->Log(ERROR, it + " cannot be converted to a double");
                }
            }
        }
    }
    sous gdb j'ai ce message d'erreur :

    <error: Cannot access memory at address 0x10176672000000>
    Le soucis vient du J'ai teste sous Valgrind pour voir si j'avais des fuites m�moire, mais le rapport Valgrind ne donne rien.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    valgrind --tool=memcheck --gen-suppressions=all --leak-check=full --leak-resolution=med --track-origins=yes --vgdb=no ./build/main
    ==89679== Memcheck, a memory error detector
    ==89679== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
    ==89679== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
    ==89679== Command: ./build/main
    ==89679==
    ==89679== HEAP SUMMARY:
    ==89679== in use at exit: 16 bytes in 1 blocks
    ==89679== total heap usage: 88 allocs, 87 frees, 106,168 bytes allocated
    ==89679==
    ==89679== LEAK SUMMARY:
    ==89679== definitely lost: 0 bytes in 0 blocks
    ==89679== indirectly lost: 0 bytes in 0 blocks
    ==89679== possibly lost: 0 bytes in 0 blocks
    ==89679== still reachable: 16 bytes in 1 blocks
    ==89679== suppressed: 0 bytes in 0 blocks
    ==89679== Reachable blocks (those to which a pointer was found) are not shown.
    ==89679== To see them, rerun with: --leak-check=full --show-leak-kinds=all
    ==89679==
    ==89679== For lists of detected and suppressed errors, rerun with: -s
    ==89679== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
    Est ce que vous auriez une id�e du probl�me ?

    Merci d'avance.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 131
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 131
    Billets dans le blog
    150
    Par d�faut
    Bonjour,

    Compilez vous "en debug" (option -g) ?
    Sinon, l'astuce sera de mettre data.end() dans une variable (dans le code), puis de demander � gdb d'afficher cette variable .
    Sinon, l'autre chose, c'est que l'on peut faire confiance � la biblioth�que standard et dire que sub_data aura le contenu qu'il faut.
    Et finalement, peut �tre data est invalide ?
    Vous souhaitez participer � la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui conna�t l'erreur, conna�t la solution.

  3. #3
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    C'est inutile de resize si tu vas juste copier les donn�es directement.
    Est-ce que ton truc contient au moins 2 donn�es pour prendre le second quand c'est pas vide ?
    Si tu ne sais pas utiliser le debugger, tu peux au moins print les valeurs au fur et � mesure.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

Discussions similaires

  1. [Lazarus] Erreur "Cannot access memory" : de brin !
    Par visithierry dans le forum Lazarus
    R�ponses: 2
    Dernier message: 29/03/2020, 16h10
  2. Cannot access memory
    Par kimikou dans le forum C
    R�ponses: 2
    Dernier message: 19/04/2011, 08h53
  3. [SIGBUS] Cannot Access Memory apres un Malloc?
    Par predacktor dans le forum C
    R�ponses: 5
    Dernier message: 18/03/2006, 17h11
  4. Supprimer un message de demarrage d'access
    Par dynxd dans le forum Access
    R�ponses: 5
    Dernier message: 04/10/2005, 19h00
  5. [API] Codage d'un moniteur de messages debug
    Par Pierre Castelain dans le forum API, COM et SDKs
    R�ponses: 3
    Dernier message: 15/01/2004, 19h47

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