Bonjour,
je réalise un programme C++ qui est sur un linux embarqué. Lorsque que je le lance j'ai un beau "Segmentation Fault".
Je n'arrive pas à trouver avec de simple trâce. Quand je pense avoir trouver cela se produit plus loin dans le code. (En ce moment cela se produit sur le ligne accept() sauf que tout est correcte.)
Donc, je me lance pour utilisé le débugger gdb en remote avec mon appli compilée en debug. J'arrive à charger mon code source sauf que j'ai pas tous. Faut que je mette les break point dans le fichier pour que ddd affiche le code (mon code est dans des sous-répertoire en grande majorité).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 struct sockaddr_in sinClientInfo = {0}; socklen_t SockLen = sizeof (struct sockaddr_in); SocketId CreatedSocketId = accept(m_SocketId, (struct sockaddr*) &sinClientInfo, &SockLen);
Sinon, ca plante bien plutôt que l'accept sur un ifstream::seekg(). J'obtient une addresse de code 0x401f48fc et j'ai un peut plus d'info sur la machine distante qui indique :
DUMA Aborting: ptr=4030bfc1: detected overwrite of ptrs no mans land below userSpace, size=63 alloced from UNKNOWN (use #include "dumapp.h")(0)
Et à partir de là je sais plus quoi faire ?
J'arrive pas à afficher le code générant l'erreur.
J'ai essayer de mettre #incluse <dumapp.h> mais j'ai rien plus.
J'ai essayer d'utiliser duma mais j'ai pas plus d'info (Peut-ête mal utilisé d'ailleur car je ne connai pas)
Avez-vous une idée ?
Partager