На жаль, Valgrind поки не підтримує OS X 10.8. Після деякого Гуглінгу я натрапив на кілька дописів на форумі, де люди змогли змусити його скласти та "майже" посилання. Хтось знає якісь хороші альтернативи Valgrind для виявлення витоку пам'яті?
На жаль, Valgrind поки не підтримує OS X 10.8. Після деякого Гуглінгу я натрапив на кілька дописів на форумі, де люди змогли змусити його скласти та "майже" посилання. Хтось знає якісь хороші альтернативи Valgrind для виявлення витоку пам'яті?
Відповіді:
Якщо припустити, що вас можуть турбувати, якщо ви встановите MacPorts, ви зможете встановити функціонуючий Valgrind (3.8.1 як сьогодні) у вашій системі. На жаль, MacPorts зажадає від вас встановити весь XCode, а не лише засоби CL, тому YMMV.
Хоча valgrind можна встановити, поточний стан не дуже корисний. У простій програмі я отримав такий результат;
==16016==
==16016== HEAP SUMMARY:
==16016== in use at exit: 63,264 bytes in 364 blocks
==16016== total heap usage: 516 allocs, 152 frees, 67,154 bytes allocated
==16016==
==16016== LEAK SUMMARY:
==16016== definitely lost: 8,624 bytes in 14 blocks
==16016== indirectly lost: 1,168 bytes in 5 blocks
==16016== possibly lost: 4,933 bytes in 68 blocks
==16016== still reachable: 48,539 bytes in 277 blocks
==16016== suppressed: 0 bytes in 0 blocks
==16016== Rerun with --leak-check=full to see details of leaked memory
==16016==
==16016== For counts of detected and suppressed errors, rerun with: -v
==16016== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Цей же код буде чудовим при використанні valgrind на linux. (Компілюється у відповідних системах)
Додаток Instruments (частина Xcode) - це дуже хороший спосіб пошуку витоків та проведення стрес-тестів на розподіл пам’яті запущеної програми.
unknown processor
на приладовому приладі, але це може працювати для вас.