./devel/lmdbg, Lightweight Modular malloc Debugger

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.2.1, Package name: lmdbg-1.2.1, Maintainer: cheusov

LMDBG is a collection of small tools for collecting and analyzing logs of
malloc/realloc/memalign/free etc. function calls. LMDBG generates full
stacktraces and separates the logging process from analysis, thus allowing
you to analyze application on a per-module basis. Simple but powerful tools
for analisis are also provided.

lmdbg - Meta tool, all in one.
lmdbg-run - Creates malloc/realloc/free/memalign/... logs
lmdbg-sym - Converts addresses to 'file.c:NUM func_name'
lmdbg-leak - Checks for memory leaks
lmdbg-stat - Gathers statistical information about memory allocations
lmdbg-grep - Greps the stackframes
lmdbg-strip - Strips the stackframes
lmdbg-module - Enrichs the stackframes with a module name
lmdbg-sort - Sorts the stackframes by e.g. total allocated bytes,
a number of memory allocations etc.
lmdbg-sysleaks - Filters out system memory leaks e.g. libc's


Required to run:
[devel/libjudy] [devel/pipestatus] [lang/runawk]

Required to build:
[devel/mk-configure]

Master sites: (Expand)

SHA1: d31e09bce70fbe3321ffd115b82311acfb3da0ed
RMD160: a277dc725283a8576bc091cbcc08849da9374264
Filesize: 42.325 KB

Version history: (Expand)


CVS history: (Expand)


   2014-02-05 22:14:00 by Aleksey Cheusov | Files touched by this commit (2) | Package updated
Log message:
Update to 1.2.1
  lmdbg-leaks: fix incorrect memory leak detection with calloc(3).
   2013-08-07 23:07:25 by Aleksey Cheusov | Files touched by this commit (3) | Package updated
Log message:
Update to 1.2.0

  New tool lmdbg-head(1) was implemented, see the man page for
  details.

  README: recomendations for procfs

  lmdbg-sym:
    - Much simplier (and correct) method for address convertion was
      implemented. As a result lmdbg-sym works correctly on AltLinux
      where ASLR and PIE are enabled by default.
    - Breakpoint are removed very soon after creation.
      This saves a lot of memory consumed by gdb(1)
      and dramatically speeds up it.

  lmdbg-run:
    - Arguments are passed correctly to progname
    - On glibc-based systems (e.g. Linux) malloc hooks are not used
      anymore as they are declared deprecated
    - Addresses from lmdbg.c are not included to stacktrace
    - Additional checks for address (returned by stacktrace(3))
      correctness.  As a result gdb(1) doesn't crash and therefore
      lmdbg-sym(1) work correctly.
    - stacktrace(3) doesn't not crash anymore on NetBSD/x64_64 with
      system utilities.  See implementation details in stacktrace.c.
    - New option -N
    - Option -v works correctly with non-zero exit status of progname.
    - Exits with error if progname is not specified.

  lmdbg-stat:
    - Fix for NULL dereference appeared if free(3) or realloc(3)
      stacktrace is seen without appropriate malloc(3) stacktrace.

  AWK interpreter is found at configure time via MKC_REQUIRE_PROGS.

  Build and regression tests were fixed for non-empty MAKEOBJDIR case.

  ChangeLog file is never installed.

  lmdbg-s2m and lmsbg-m2s was moved to libexec dir.

  mk-configure >= 0.24.0 is required for build.

  Fixes, improvements and additions in regression tests.
   2012-10-31 12:19:55 by Aleksej Saushev | Files touched by this commit (1460)
Log message:
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
   2012-09-02 20:48:19 by Aleksey Cheusov | Files touched by this commit (3) | Package updated
Log message:
Update to 1.1.0
  Fix in regression tests. Now "make test" exits with non-zero status
  if something fails.

  lmdbg-run:
    - Zero addresses are removed from stacktraces generated by glibc's
      backtrace(3).  This fixes asserts in lmdbg-stat(1).
    - Double "0x" in "info section" were fixed (seen on NetBSD).
    - backtrace(3) from libexecinfo is used instead of builtin
      implementation if the library and execinfo.h are available
      (FreeBSD, NetBSD).

  lmdbg-sym:
    - Fixes. Sometimes addresses were converted to symbols
      incorrectly. The problem was seen on modern Linux distros with
      recent gdb(1).

  lmdbg-stat:
    - Now incompletly read lines (having no LF in the end) are
      ignored.  This fixes crashes and therefore empty output or
      lmdbg(1) when analysed program is killed.
    - Alternative implementation written in awk was removed.

  Build infrastructure was converted to 2-level dirs.
  This requires mk-configure>=0.23.0 for build.

  Minor clean-ups in man pages and Makefiles.
   2012-03-09 20:10:04 by Aleksey Cheusov | Files touched by this commit (1)
Log message:
clean-ups (adapted for recent mk-configure)
   2012-01-09 20:47:36 by Aleksey Cheusov | Files touched by this commit (3) | Package updated
Log message:
Update to lmdbg-1.0.0
  libstacktrace:
     Remove signal handlers and other garbage.
     All we need is __builtin_frame_address and __builtin_return_address
     builtins and nothing else.

  Documentation files have been moved to subproject "doc".
  Run "mkcmake install-doc" for installing it (or change SUBPRJ_DFLT).

  Only backtrace(3) in libc is accepted as an external implementation
  of stacktrace(3). This may fix build failure on FreeBSD with
  installed libexeinfo.
   2011-12-02 23:45:47 by Aleksey Cheusov | Files touched by this commit (3) | Package updated
Log message:
Update to 0.17.0
  Long options have been removed from all programs.
  Use standard single-letter POSIX-compatible options.

  lmdbg-sym:
    - Doesn't accept progname as an argument anymore.
      Use -P option instead.
    - option --with-so was replaced with -s.

  SORRY FOR INCOMPATIBILITIES WITH PREVIOUS RELEASES.

                                    ----------------------------------

  lmdbg:
    - -M option was added. lmdbg(1) is now a meta tools which is able
      to not only collecting memory leaks. See the manual page for
      details.
    - -n option was added
    - -T and -B options were added
    - Regression tests were added for -M

  A lot of improvements and grammar fixes in manual pages.
  Thanks to Nikolai Krot for this.

  lmdbg-stat, tests/test.sh:
    - Fixes for Solaris

  lmdbg-run:
    - options -T and -B were added to lmdbg-run.
    - option -n was added. It disables logging on startup.
      Sending SIGUSR1 signal to the process enables it.
    -f option was added, synonym for -p.

  lmdbg-grep.1:
    - documentation for "bytes" variable

  If set, LMDBG_MODULES_AWK and LMDBG_STRIP_AWK environment variables
  are used as a path to AWK interpreter by "lmdbg-modules" and
  "lmdbg-strip" programs respectively.

  More regression tests
   2011-11-26 11:18:49 by Aleksey Cheusov | Files touched by this commit (1)
Log message:
clang was added to a list of supported compilers
minor code clean-ups