Tietäisikö joku työkalua muistivuotojen metsästykseen Linux:ssa?
Olen törmännyt Valgrind-ohjelmaan ja purify-ohjelmaan. Purify taitaa olla maksullinen.
Tutkittava sovellus käyttää Corbaa.
Mikä työkalu voisi toimia?
Ja miten pitäisi ajaa.
Yritin Valgrind:ia, mutta sovellus ei pysy päällä, vaikka sen pitäisi pysyä kunnes annan sille signaalin, että sen pitäisi loppua.
En tiedä voisiko ongelma olla corban kanssa vai mikä.
Yritän ajaa valgrind:ia ja testiohjelmaa näin:
./valgrind --tool=memcheck --leak-check=yes --trace-children=yes /path/program_to_execute
Aluksi se tulostaa joitain rivejä.
Sitten odoteltuaan hetken se tulostaa tällaista:
==Numeroxxxxx== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 146 from 1)
==xxxxx== malloc/free: in use at exit: 43,625 bytes in 251 blocks.
==xxxxx== malloc/free: 9,334 allocs, 9,084 frees, 424,680 bytes allocated.
==xxxxx== For counts of detected errors, rerun with: -v
==== searching for pointers to 251 not-freed blocks.
==xxxxx== checked 1,947,256 bytes.
==xxxxx==
==xxxxx==
==xxxxx== 194 bytes in 4 blocks are possibly lost in loss record 186 of 234
==xxxxx== at 0x4417AF8: operator new(unsigned) (vg_replace_malloc.c:163)
...
...
LEAK SUMMARY:
definitely lost: 0 bytes in 0 blocks.
possibly lost: xxx bytes in x blocks.
....
Olen törmännyt Valgrind-ohjelmaan ja purify-ohjelmaan. Purify taitaa olla maksullinen.
Tutkittava sovellus käyttää Corbaa.
Mikä työkalu voisi toimia?
Ja miten pitäisi ajaa.
Yritin Valgrind:ia, mutta sovellus ei pysy päällä, vaikka sen pitäisi pysyä kunnes annan sille signaalin, että sen pitäisi loppua.
En tiedä voisiko ongelma olla corban kanssa vai mikä.
Yritän ajaa valgrind:ia ja testiohjelmaa näin:
./valgrind --tool=memcheck --leak-check=yes --trace-children=yes /path/program_to_execute
Aluksi se tulostaa joitain rivejä.
Sitten odoteltuaan hetken se tulostaa tällaista:
==Numeroxxxxx== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 146 from 1)
==xxxxx== malloc/free: in use at exit: 43,625 bytes in 251 blocks.
==xxxxx== malloc/free: 9,334 allocs, 9,084 frees, 424,680 bytes allocated.
==xxxxx== For counts of detected errors, rerun with: -v
==== searching for pointers to 251 not-freed blocks.
==xxxxx== checked 1,947,256 bytes.
==xxxxx==
==xxxxx==
==xxxxx== 194 bytes in 4 blocks are possibly lost in loss record 186 of 234
==xxxxx== at 0x4417AF8: operator new(unsigned) (vg_replace_malloc.c:163)
...
...
LEAK SUMMARY:
definitely lost: 0 bytes in 0 blocks.
possibly lost: xxx bytes in x blocks.
....
Vastaukset 1
Vanhimmat
Eli tuli sieltä Valgrindista jotain ulos ja sovellus pysyy päällä hyvin.
Antteeksi häiriö.