Вальгринд потерял символ информации - PullRequest
2 голосов
/ 11 августа 2010

После запуска Valgrind полученный файл журнала содержит ряд ошибок, которые выглядят как

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

После просмотра я обнаружил следующую строку, которая, на мой взгляд, важна для получения реального содержимого, а не просто ???:

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

Обратите внимание, что все ??? поступают из адресов в диапазонах, заданных Discarding syms строками.

Что заставляет Valgrind выбрасывать информацию о символах для общих библиотек и какя могу это исправить?

1 Ответ

3 голосов
/ 01 сентября 2010

Возможно, ваша общая библиотека была выгружена по телефону dlclose. Постарайся избежать этого. См. FAQ по Valgrind

...