Précédent   Forum du club des développeurs et IT Pro > C et C++ > C > Débuter
Débuter Forum d'entraide pour débuter en langage C. Avant de poster -> FAQ C
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 26/02/2013, 10h51   #1
flatron14
Invité régulier
 
Inscription : janvier 2013
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2013
Messages : 5
Points : 9
Points : 9
Par défaut Ma stack est-elle corrompue?

Bonjour,

J'ai un programme qui plante et j'ai l'impression que ma stack est corrompue lorsque j'analyse le core.
Toute la stack est bonne sauf lorsqu'on arrive dans les librarie system et du coup j'ai un doute.

La fin de ma stack ressemble à ca:
Code :
1
2
3
4
5
 
#0  0xff032e68 in __arint_set_n () from /lib/libc.so.1
#1  0xff0c2ac0 in mutex_lock_internal () from /lib/libc.so.1
#2  0x0031475c in regmatch (prog=0x1736c8d "116") at /test/xregexp.c:836
...
Et la ligne correspondant au plantage dans le fonction regmatch:

Code :
1
2
3
4
5
static int regmatch(
...
			if (len > 1 && strncmp(opnd, reginput, len) != 0) return(0);
...
Bien que opnd, reginput et len pointent sur des valeurs correctes, logiquement mon programme plante sur strncmp et du coup je devrait avoir une stack ressemblant à ça non?

Code :
1
2
3
4
5
 
#0  ...
#1  0xff0c2ac0 in strncmp () from /lib/libc.so.1
#2  0x0031475c in regmatch (prog=0x1736c8d "116") at /test/xregexp.c:836
...
Merci pour votre aide

PS: je cherche pas a identifier la cause du problème mais juste à savoir si je peux me fier à la stack ou si celle-ci est corrompue.
flatron14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 19h03   #2
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 639
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 639
Points : 11 096
Points : 11 096
Citation:
Envoyé par flatron14 Voir le message
PS: je cherche pas a identifier la cause du problème mais juste à savoir si je peux me fier à la stack ou si celle-ci est corrompue.
Elle n'en a pas l'air.

Essaie de coller un breakpoint juste avant la ligne concernée et un autre juste après. Si le premier breakpoint est correctement atteint et que ton programme plante juste après sans atteindre le second, c'est que ta pile est cohérente.
Obsidian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h10.


 
 
 
 
Partenaires

Hébergement Web