Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > GDB
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 25/03/2010, 14h17   #1
TheDrev
Membre confirmé
 
Avatar de TheDrev
 
Inscription : novembre 2006
Messages : 305
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : novembre 2006
Messages : 305
Points : 212
Points : 212
Par défaut déferancer un void*

Hello,

je cherche a espionner un pointeur sur une structure de type var, pointé en tant que void* data mais gdb me répond "attempt to dereferance a generic pointer" comme gdb a une syntaxe proche de celle du c, j'essai (var*)root.data mais pas de changement.

Comment afficher les void* dans gdb ? merci
__________________
all your base are belong to us.
TheDrev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2012, 16h49   #2
huit_six
Membre confirmé
 
Inscription : avril 2009
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 180
Points : 219
Points : 219
devrait fonctionner je pense, mais comme tu ne fournis pas baucoup de détails sur ton code je ne peux pas être sûr.

Quand tu fais :
l'opérateur . a priorité sur l'opérateur () de transtypage, du coup, tu accèdes au champ avant de caster. Il faut mettre des parenthèses pour effectuer le cast AVANT d'accéder au champ.
Ensuite, root et un pointeur sur une structure donc pour en obtenir le champ il faut faire soit :
soit
Hum à la réflexion ce que je ferai moi c'est :
Code :
1
2
3
var *ma_var = root;
...
root->data;
Je trouve ça plus clair et moins piégeant, mais encore une fois, tout dépend de ton code.
huit_six est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h46.


 
 
 
 
Partenaires

Hébergement Web