valgrind saut Conditionnel ou déplacer dépend non initialisée valeur(s) , est-ce que cela indique fuite de mémoire?
Je suis confronté à un problème de fuite de mémoire dans le code, alors que son exécution, le tas va croissant au maximum et j'ai besoin de redémarrer le service, j'ai couru en haut de commande et de voir que le tas est en augmentation chaque fois que im en invoquant un scénario dans le service.
J'ai couru le service avec valgrind ,
valgrind --log-file=log-feb19.txt --leak-check=full --show-reachable=yes --track-origins=yes myservice
Je ne vois aucune définitivement perdu ou peut-être perdu blocs tout en iam exécute les scénarios, mais je vois beaucoup de saut Conditionnel ou déplacer dépend non initialisée valeur(s) des erreurs.
Ne comptent pas pour une fuite de mémoire?
Exemple de ce que je suis:
==27278== Conditional jump or move depends on uninitialised value(s)
==27278== at 0xC90D91E: xcsFreeMemFn (in /apps/opt/mqm/lib64/libmqmcs_r.so)
........
==27278== Uninitialised value was created by a heap allocation
==27278== at 0x4A078B8: malloc (vg_replace_malloc.c:270)
==27278== by 0xC90E32F: xcsGetMemFn (in /apps/opt/mqm/lib64/libmqmcs_r.so)
Quelqu'un peut aider.
avez-vous trouvé la bonne réponse? si elle l'est, une marque comme correcte, s'il vous plaît.
double possible de mettre le doigt sur "saut conditionnel ou déplacer dépend de la valeur non initialisée(s)" valgrind message
double possible de mettre le doigt sur "saut conditionnel ou déplacer dépend de la valeur non initialisée(s)" valgrind message
OriginalL'auteur user862833 | 2013-02-19
Vous devez vous connecter pour publier un commentaire.
Pas, cela signifie que vous êtes accédant à la mémoire qui n'a pas été initialisée:
déclencherait cette erreur.
Légèrement plus commune serait:
Enfin, cela arrive fréquemment avec malloc en fonction du code, lorsque vous n'utilisez pas
memset
pour effacer toute la mémoire tampon. Donc,OriginalL'auteur sehe
Il est expliqué dans Valgrind Manuel de l'Utilisateur, dans la section 4.2.2. L'utilisation de valeurs non initialisée:
OriginalL'auteur logoff
Pas cela n'indique pas une fuite de mémoire directement. Cependant, ayant un saut conditionnel selon un non-initialisé la variable peut conduire à pratiquement n'importe quoi. À l'aide de variables non initialisées en général invoque un comportement indéfini.
register
" c'est si son adresse n'est jamais prise. La lecture de la mémoire non initialisée par l'intermédiaire d'un pointeur est parfaitement bien du POV). C'est la ramification sur des valeurs telles que valgrind, à juste titre, se plaint.OriginalL'auteur Ivaylo Strandjev