#1 Le 07/11/2012, à 12:29
- juliech
Programmes C et C++ : segfault caught : memory not mapped
Bonjour, je rencontre un problème avec deux programmes différents , l'un écrit en C++ et l'autre est un package R utilisant des bouts de code en C. (ce ne sont pas mes programmes)
Or ces deux programmes produisent le meme type d'erreur après lancement :
segfault caught : memory not mapped
J'ai vu que cela pouvait être courant avec C et C++, seulement j'ai déjà testé ces programmes sur une autre machine avec la meme distribution linux et le meme noyau : Ubuntu 12.04 precise noyau 3.2.0.33-generic. Le pc sur lequel ça ne fonctionne pas est tout récent.
La version de gcc sur ces deux machines est gcc (Ubuntu/linaro 4.6.3-1ubuntu5) 4.6.3
Quelqu'un aurait-il déjà vu ce type d'erreur?
Sait-on comment la résoudre?
Si non, étant donné que ca fonctionne sur une machine et pas sur une autre, y a-t-il d'autres logiciels ou packages à checker au niveau de la version qui pourraient différer d'un pc à l'autre?
D'avance merci.
julie
Dernière modification par juliech (Le 07/11/2012, à 12:30)
Hors ligne
#2 Le 07/11/2012, à 12:45
- katian
Re : Programmes C et C++ : segfault caught : memory not mapped
une difference au niveau 32 / 64 bits ???
Hors ligne
#3 Le 07/11/2012, à 14:13
- juliech
Re : Programmes C et C++ : segfault caught : memory not mapped
Non les deux machines sont en 64-bits
Hors ligne
#4 Le 07/11/2012, à 20:54
- telliam
Re : Programmes C et C++ : segfault caught : memory not mapped
Salut,
c'est un cas classique de pointeur mal initialisé ou qui pointe dans une zone invalide.
Un bug peut tres bien se produire sur une machine ou pas sur une autre.
Il faut que tu compiles les programmes en mode debug et que tu fasses générer un coredump.
Une fois le core dump généré (apres plantage du programme) tu px l'ouvrir avec gdb et regarder quelle valeur est invalide et debugger le programme.
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne