NAME

plumber - memory leak finder for C programs

SYNOPSIS

plumber [ options ] binfile pid

plumber [ options ] binfile corefile

DESCRIPTION

Plumber is a memory leak finder for C programs, implemented in Perl. It uses GDB to walk internal glibc heap structures, so it can work on either a live process (the first synopsis) or a core file (the second synopsis).

Compared to Valgrind, Purify, or various malloc debugging libraries, plumber

  • is very slow,

  • does not provide stack traces showing how memory was allocated,

  • does not work on multi-threaded programs (although this could be fixed).

However plumber is much easier to use in a production environment (rather than a test environment) because the program under test

  • does not require any special building or instrumentation before running,

  • does not need to be launched specially,

  • can already be running, for any length of time, or may have already crashed and left a core,

  • will continue unmolested after plumber has finished.

OPTIONS

Plumber accepts the following options

--progress

Cause a progress indicator to be emitted to stderr. Plumber can be quite slow.

--verbose

Cause debugging messages to be emitted to stderr.

CAVEATS

See CAVEATS for Devel::Plumber(3perl).

AUTHOR

Greg Banks <gnb@fastmail.fm>

COPYRIGHT

Copyright (C) 2011 by Opera Software Australia Pty Ltd

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Devel::Plumber(3perl).