views:

51

answers:

1

After running Valgrind, the resultant log file contains a number of errors that look like

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: ???

After looking around I found the following line which I think is important to getting actual content instead of just ???:

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

Note that all ??? come from addresses in the ranges specified by Discarding syms lines.

What is causing Valgrind to throw away symbol information for shared libraries and how do I fix it?

+1  A: 

Maby your shared library was unloaded by dlclose. Try to avoid this. See Valgrind FAQ

ks1322