On Wed, Oct 08, 2003 at 06:55:38PM +0400, Alexey Tourbin wrote: > Господа, > > not stripped binaries также не является ошибкой, но их наличие в каком-либо > пакете должно иметь какую-нибудь причину. Налачие же binaries в /usr/share вне > зависимости от их дополнительным характеристик является злостным FHS violation. [skip] > 140 /usr/lib/valgrind/libpthread.so > 1224 /usr/lib/valgrind/valgrind.so > 8 /usr/lib/valgrind/valgrinq.so > 68 /usr/lib/valgrind/vgskin_addrcheck.so > 104 /usr/lib/valgrind/vgskin_cachegrind.so > 16 /usr/lib/valgrind/vgskin_corecheck.so > 80 /usr/lib/valgrind/vgskin_helgrind.so > 48 /usr/lib/valgrind/vgskin_lackey.so > 148 /usr/lib/valgrind/vgskin_memcheck.so > 16 /usr/lib/valgrind/vgskin_none.so Так и должно быть - это же инструмент для отладки. Без отладочных символов использовать его очень неудобно - см. README_PACKAGERS: -- Don't strip the debug info off valgrind.so or libpthread.so. Valgrind will still work if you do, but it will generate less helpful error messages. Here's an example: Mismatched free() / delete / delete [] at 0x40043249: free (vg_clientfuncs.c:171) by 0x4102BB4E: QGArray::~QGArray(void) (tools/qgarray.cpp:149) by 0x4C261C41: PptDoc::~PptDoc(void) (include/qmemarray.h:60) by 0x4C261F0E: PptXml::~PptXml(void) (pptxml.cc:44) Address 0x4BB292A8 is 0 bytes inside a block of size 64 alloc'd at 0x4004318C: __builtin_vec_new (vg_clientfuncs.c:152) by 0x4C21BC15: KLaola::readSBStream(int) const (klaola.cc:314) by 0x4C21C155: KLaola::stream(KLaola::OLENode const *) (klaola.cc:416) by 0x4C21788F: OLEFilter::convert(QCString const &) (olefilter.cc:272) This tells you that some memory allocated with new[] was freed with free(). If valgrind.so was stripped the message would look like this: Mismatched free() / delete / delete [] at 0x40043249: (inside valgrind.so) by 0x4102BB4E: QGArray::~QGArray(void) (tools/qgarray.cpp:149) by 0x4C261C41: PptDoc::~PptDoc(void) (include/qmemarray.h:60) by 0x4C261F0E: PptXml::~PptXml(void) (pptxml.cc:44) Address 0x4BB292A8 is 0 bytes inside a block of size 64 alloc'd at 0x4004318C: (inside valgrind.so) by 0x4C21BC15: KLaola::readSBStream(int) const (klaola.cc:314) by 0x4C21C155: KLaola::stream(KLaola::OLENode const *) (klaola.cc:416) by 0x4C21788F: OLEFilter::convert(QCString const &) (olefilter.cc:272) This isn't so helpful. Although you can tell there is a mismatch, the names of the allocating and deallocating functions are no longer visible. The same kind of thing occurs in various other messages from valgrind.