2010-08-10 16 views
2

Après avoir exécuté Valgrind, le fichier journal résultant contient un certain nombre d'erreurs qui ressemblent àValgrind perdre info symbole

Conditional jump or move depends on uninitialised value(s) 
    at 0x3D9863AA: ??? 
    by 0x3D986287: ??? 
    by 0x3D9854AC: ??? 
Uninitialised value was created by a heap allocation 
    at 0x7FCC050: operator new(unsigned int) (vg_replace_malloc.c:214) 
    by 0x3D9A56A4: ??? 
    by 0x3D9A4EB9: ??? 

Après avoir regardé autour j'ai trouvé la ligne suivante que je pense est important d'obtenir le contenu réel au lieu de simplement ???:

Discarding syms at 0x3d97dba0-0x3da53de8 in /path/SomeDLL.so due to munmap() 

Notez que tous les ??? proviennent d'adresses dans les plages spécifiées par Discarding syms lignes. Qu'est-ce qui amène Valgrind à jeter des informations sur les symboles pour les bibliothèques partagées et comment puis-je résoudre ce problème?

Répondre

2

Peut-être que votre bibliothèque partagée a été déchargée par l'appel dlclose. Essayez d'éviter cela. Voir Valgrind FAQ