When running memcheck on a massive monolith embedded executable (237MB stripped, 1.8GiB unstripped), after I stop the executable under valgrind I see the “HEAP SUMMARY” but then valgrind dies before any leak reports are printed.
If finding memory leaks is the only goal (for instance, if you are satisfied that memcheck has found all the overrun blocks, uninitialized reads, etc.) then https://github.com/KDE/heaptrack is the best tool. The data-gathering phase runs in any Linux process using LD_PRELOAD and libunwind. The analysis phase runs a GUI under KDE, and/or generates *useful* text reports: leaks by individual size, leaks by total size for a given traceback, allocations (leaked or not) by frequency or total size, etc. I like the text-only analysis, which avoids the requirement for KDE. Heaptrack CPU overhead tends to be around 20% or less, so it does not take forever. Heaptrack does require disk space to record data (sequential access only), so you may need several gigabytes (locally or via network.)
_______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users