Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question : le débugger.

Sujet résolu
    22 octobre 2008 à 20:17:33

    bonsoir tout le monde

    Depuis le temps que j'utilise (ou non...) le débugger de codeBlock j'en suis venu à me poser une question :

    Quand un programme plante, la mémoire qu'il utilisait est-elle "désalouée" ? (je parle des objets créés "en dur" et non en dynamique, hein... Ces derniers ne sont évidemment pas libérés)


    -> Je suppose que non, mais j'aimerai avoir confirmation.

    Et quand un programme qui tourne sous la coupe du débugger plante, est-ce que sa mémoire est désallouée (en gros, est-ce que le débugger s'occupe aussi de prévenir les fuites de mémoire en plus de rechercher l'origine des erreurs) ?


    Merci d'avance
    Yogou
    • Partager sur Facebook
    • Partager sur Twitter
      22 octobre 2008 à 20:18:45

      1) Oui ils le sont de meme que les dynamiques. L'OS fait le ménage derrière toi.

      2) voir 1
      • Partager sur Facebook
      • Partager sur Twitter
      Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
        22 octobre 2008 à 20:21:05

        Bien sur que la memoire est desalouée après un plantage ;)

        Sinon imagine que lorsque ton super jeu 3D qui prend 700Mo de ram plante, la memoire reste innacessible :-°

        Lorsqu'un processus se termine (de façon normale ou a cause d'une erreur) toute la memoire utilisée par l'application est liberée par l'OS.
        • Partager sur Facebook
        • Partager sur Twitter
          22 octobre 2008 à 21:12:29

          Merci pour vos reponses.
          Ok, tant mieux si l'OS nettoie derrière un plantage.
          Encore une question :

          Si je comprend bien, l'OS nettoie le dynamique après un plantage, dans tous les cas. Donc une "memory leak" est liée à l'existence du programme qui l'a créée.
          C'est bien ça ?

          (juste pour être sur...)

          Yogou
          • Partager sur Facebook
          • Partager sur Twitter
            22 octobre 2008 à 22:54:47

            Je comprends pas ta nouvelle question.
            • Partager sur Facebook
            • Partager sur Twitter
            Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
            Anonyme
              22 octobre 2008 à 22:59:03

              S'il y a une fuite de mémoire, elle n'est que 'temporaire' (temps d'exécution du programme qui la créée). Après la fin du programme, l'OS peut redonner la mémoire 'prêtée' au programme à une autre application.
              • Partager sur Facebook
              • Partager sur Twitter
                22 octobre 2008 à 23:16:58

                Merci pour ces explications.
                Bonne soirée à tous,

                Yogou
                • Partager sur Facebook
                • Partager sur Twitter

                Question : le débugger.

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown