mirror of
https://github.com/openssh/libopenssh
synced 2026-04-16 17:56:33 +00:00
20 lines
893 B
Plaintext
20 lines
893 B
Plaintext
This is a very simple memory leak detector using libexecinfo (in
|
|
OpenBSD ports as devel/libexecinfo). It could be adapted to use the
|
|
backtrace function in glibc too.
|
|
|
|
It tracks memory allocations by redirecting malloc/free and friends
|
|
to its own functions using preprocessor defines. When an allocation
|
|
is made, leakmalloc grabs the call chain from the stack and stores it.
|
|
When the program exits, leakmalloc dumps all unfreed allocations.
|
|
|
|
leakresolve.py consumes one of these dumps and produces a fairly
|
|
readable report with leaks coalesced by stack trace and sorted by
|
|
number of leak instances. Usually the last entry on this report is
|
|
the one to care most about.
|
|
|
|
leaky.c in regress/ shows how you might use it (run 'make' in that directory
|
|
and run it manually, or look at the Makefile for tips).
|
|
|
|
Note that everything needs to be compiled without optimisation and with
|
|
debugging symbols.
|