Code::blocks, SIGSEGV, Segmentation fault. In ?? ()

Fermé
David191212 Messages postés 231 Date d'inscription samedi 18 juillet 2009 Statut Membre Dernière intervention 2 juillet 2016 - Modifié par baladur13 le 7/07/2016 à 14:27
GlanVonBrylan Messages postés 11 Date d'inscription mercredi 6 juillet 2016 Statut Membre Dernière intervention 7 juillet 2016 - 7 juil. 2016 à 14:24
Bonjour à tous, je cherche à débugger une segfault présente dans code::blocks,

Malheureusement la call stack ne s'affiche pas correctement
à la place j'ai des ?? ()

Pouvez vous m'aider s'il vous plait

Voici un code minimal d'exemple
#include <iostream>

using namespace std;

int main()
{
    int *plop;
    cout << *plop << endl;
    return 0;
}

Program received signal SIGSEGV, Segmentation fault.
In ?? () ()

alors que je devrais voir quelque chose comme "In main()"


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

GlanVonBrylan Messages postés 11 Date d'inscription mercredi 6 juillet 2016 Statut Membre Dernière intervention 7 juillet 2016
Modifié par GlanVonBrylan le 7/07/2016 à 14:24
  • plop, c'est un pointeur.

En écrivant *plop, tu demandes à accéder à la variable pointée par plop. Mais il n'y en a pas. Ton programme a juste plop.

Tu dois allouer la mémoire avec new:
int *plop = new int(0);

Pour libérer la mémoire :
delete plop;

Ou alors te passer de pointeurs.

Glân von Brylân, développeur et étudiant en informatique, à votre service !
Essayez mon éditeur de texte, GpaWa Editor, si vous en avez marre du bloc-notes.
0